74 lines
2.5 KiB
C#
74 lines
2.5 KiB
C#
#if !ISOLATION_IN_MSCORLIB
|
|
#define FEATURE_COMINTEROP
|
|
#endif
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using System.Collections;
|
|
using System.Globalization;
|
|
using System.Threading;
|
|
|
|
/*
|
|
These are the basic interfaces common to all CDF-based data sources.
|
|
Sections with various keys are the norm.
|
|
|
|
*/
|
|
|
|
namespace System.Deployment.Internal.Isolation
|
|
{
|
|
#if FEATURE_COMINTEROP
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("285a8862-c84a-11d7-850f-005cd062464f")]
|
|
internal interface ISection
|
|
{
|
|
object _NewEnum { [return:MarshalAs(UnmanagedType.Interface)] get; }
|
|
uint Count { get; }
|
|
uint SectionID { get; }
|
|
string SectionName { [return:MarshalAs(UnmanagedType.LPWStr)] get; }
|
|
}
|
|
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("285a8871-c84a-11d7-850f-005cd062464f")]
|
|
internal interface ISectionWithStringKey
|
|
{
|
|
void Lookup([MarshalAs(UnmanagedType.LPWStr)] string wzStringKey, [MarshalAs(UnmanagedType.Interface)] out object ppUnknown);
|
|
bool IsCaseInsensitive { get; }
|
|
}
|
|
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("285a8876-c84a-11d7-850f-005cd062464f")]
|
|
internal interface ISectionWithReferenceIdentityKey
|
|
{
|
|
void Lookup(IReferenceIdentity ReferenceIdentityKey, [MarshalAs(UnmanagedType.Interface)] out object ppUnknown);
|
|
}
|
|
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("285a8861-c84a-11d7-850f-005cd062464f")]
|
|
internal interface ISectionEntry
|
|
{
|
|
object GetField(uint fieldId);
|
|
string GetFieldName(uint fieldId);
|
|
}
|
|
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("00000100-0000-0000-C000-000000000046")]
|
|
internal interface IEnumUnknown
|
|
{
|
|
[PreserveSig]
|
|
int Next(uint celt, [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.IUnknown)] object[] rgelt, ref uint celtFetched);
|
|
[PreserveSig]
|
|
int Skip(uint celt);
|
|
[PreserveSig]
|
|
int Reset();
|
|
[PreserveSig]
|
|
int Clone(out IEnumUnknown enumUnknown);
|
|
}
|
|
|
|
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown),Guid("285a8860-c84a-11d7-850f-005cd062464f")]
|
|
internal interface ICDF
|
|
{
|
|
ISection GetRootSection(uint SectionId);
|
|
ISectionEntry GetRootSectionEntry(uint SectionId);
|
|
object _NewEnum { [return:MarshalAs(UnmanagedType.Interface)] get; }
|
|
uint Count { get; }
|
|
object GetItem(uint SectionId);
|
|
}
|
|
#endif
|
|
}
|