Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

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
}