diff options
Diffstat (limited to 'portaudio/src/hostapi/wasapi/mingw-include/ksproxy.h')
-rw-r--r-- | portaudio/src/hostapi/wasapi/mingw-include/ksproxy.h | 638 |
1 files changed, 638 insertions, 0 deletions
diff --git a/portaudio/src/hostapi/wasapi/mingw-include/ksproxy.h b/portaudio/src/hostapi/wasapi/mingw-include/ksproxy.h new file mode 100644 index 0000000..fcbc6b3 --- /dev/null +++ b/portaudio/src/hostapi/wasapi/mingw-include/ksproxy.h @@ -0,0 +1,638 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#ifndef __KSPROXY__ +#define __KSPROXY__ + +#ifdef __cplusplus +extern "C" { +#endif + +#undef KSDDKAPI +#ifdef _KSDDK_ +#define KSDDKAPI +#else +#define KSDDKAPI DECLSPEC_IMPORT +#endif + +#define STATIC_IID_IKsObject \ + 0x423c13a2L,0x2070,0x11d0,0x9e,0xf7,0x00,0xaa,0x00,0xa2,0x16,0xa1 + +#define STATIC_IID_IKsPinEx \ + 0x7bb38260L,0xd19c,0x11d2,0xb3,0x8a,0x00,0xa0,0xc9,0x5e,0xc2,0x2e + +#define STATIC_IID_IKsPin \ + 0xb61178d1L,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1 + +#define STATIC_IID_IKsPinPipe \ + 0xe539cd90L,0xa8b4,0x11d1,0x81,0x89,0x00,0xa0,0xc9,0x06,0x28,0x02 + +#define STATIC_IID_IKsDataTypeHandler \ + 0x5ffbaa02L,0x49a3,0x11d0,0x9f,0x36,0x00,0xaa,0x00,0xa2,0x16,0xa1 + +#define STATIC_IID_IKsDataTypeCompletion \ + 0x827D1A0EL,0x0F73,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#define STATIC_IID_IKsInterfaceHandler \ + 0xD3ABC7E0L,0x9A61,0x11D0,0xA4,0x0D,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#define STATIC_IID_IKsClockPropertySet \ + 0x5C5CBD84L,0xE755,0x11D0,0xAC,0x18,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#define STATIC_IID_IKsAllocator \ + 0x8da64899L,0xc0d9,0x11d0,0x84,0x13,0x00,0x00,0xf8,0x22,0xfe,0x8a + +#define STATIC_IID_IKsAllocatorEx \ + 0x091bb63aL,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02 + +#ifndef STATIC_IID_IKsPropertySet +#define STATIC_IID_IKsPropertySet \ + 0x31EFAC30L,0x515C,0x11d0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93 +#endif + +#define STATIC_IID_IKsTopology \ + 0x28F54683L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#ifndef STATIC_IID_IKsControl +#define STATIC_IID_IKsControl \ + 0x28F54685L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96 +#endif + +#define STATIC_IID_IKsAggregateControl \ + 0x7F40EAC0L,0x3947,0x11D2,0x87,0x4E,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#define STATIC_CLSID_Proxy \ + 0x17CCA71BL,0xECD7,0x11D0,0xB9,0x08,0x00,0xA0,0xC9,0x22,0x31,0x96 + +#ifdef _KS_ + +DEFINE_GUIDEX(IID_IKsObject); + +DEFINE_GUIDEX(IID_IKsPin); + +DEFINE_GUIDEX(IID_IKsPinEx); + +DEFINE_GUIDEX(IID_IKsPinPipe); + +DEFINE_GUIDEX(IID_IKsDataTypeHandler); + +DEFINE_GUIDEX(IID_IKsDataTypeCompletion); + +DEFINE_GUIDEX(IID_IKsInterfaceHandler); + +DEFINE_GUIDEX(IID_IKsClockPropertySet); + +DEFINE_GUIDEX(IID_IKsAllocator); + +DEFINE_GUIDEX(IID_IKsAllocatorEx); + +#define IID_IKsQualityForwarder KSCATEGORY_QUALITY +#define STATIC_IID_IKsQualityForwarder STATIC_KSCATEGORY_QUALITY + +typedef enum { + KsAllocatorMode_User, + KsAllocatorMode_Kernel +} KSALLOCATORMODE; + +typedef enum { + FramingProp_Uninitialized, + FramingProp_None, + FramingProp_Old, + FramingProp_Ex +} FRAMING_PROP; + +typedef FRAMING_PROP *PFRAMING_PROP; + +typedef enum { + Framing_Cache_Update, + Framing_Cache_ReadLast, + Framing_Cache_ReadOrig, + Framing_Cache_Write +} FRAMING_CACHE_OPS; + +typedef struct { + LONGLONG MinTotalNominator; + LONGLONG MaxTotalNominator; + LONGLONG TotalDenominator; +} OPTIMAL_WEIGHT_TOTALS; + +typedef struct IPin IPin; +typedef struct IKsPin IKsPin; +typedef struct IKsAllocator IKsAllocator; +typedef struct IKsAllocatorEx IKsAllocatorEx; + +#define AllocatorStrategy_DontCare 0 +#define AllocatorStrategy_MinimizeNumberOfFrames 0x00000001 +#define AllocatorStrategy_MinimizeFrameSize 0x00000002 +#define AllocatorStrategy_MinimizeNumberOfAllocators 0x00000004 +#define AllocatorStrategy_MaximizeSpeed 0x00000008 + +#define PipeFactor_None 0 +#define PipeFactor_UserModeUpstream 0x00000001 +#define PipeFactor_UserModeDownstream 0x00000002 +#define PipeFactor_MemoryTypes 0x00000004 +#define PipeFactor_Flags 0x00000008 +#define PipeFactor_PhysicalRanges 0x00000010 +#define PipeFactor_OptimalRanges 0x00000020 +#define PipeFactor_FixedCompression 0x00000040 +#define PipeFactor_UnknownCompression 0x00000080 + +#define PipeFactor_Buffers 0x00000100 +#define PipeFactor_Align 0x00000200 +#define PipeFactor_PhysicalEnd 0x00000400 +#define PipeFactor_LogicalEnd 0x00000800 + +typedef enum { + PipeState_DontCare, + PipeState_RangeNotFixed, + PipeState_RangeFixed, + PipeState_CompressionUnknown, + PipeState_Finalized +} PIPE_STATE; + +typedef struct _PIPE_DIMENSIONS { + KS_COMPRESSION AllocatorPin; + KS_COMPRESSION MaxExpansionPin; + KS_COMPRESSION EndPin; +} PIPE_DIMENSIONS,*PPIPE_DIMENSIONS; + +typedef enum { + Pipe_Allocator_None, + Pipe_Allocator_FirstPin, + Pipe_Allocator_LastPin, + Pipe_Allocator_MiddlePin +} PIPE_ALLOCATOR_PLACE; + +typedef PIPE_ALLOCATOR_PLACE *PPIPE_ALLOCATOR_PLACE; + +typedef enum { + KS_MemoryTypeDontCare = 0, + KS_MemoryTypeKernelPaged, + KS_MemoryTypeKernelNonPaged, + KS_MemoryTypeDeviceHostMapped, + KS_MemoryTypeDeviceSpecific, + KS_MemoryTypeUser, + KS_MemoryTypeAnyHost +} KS_LogicalMemoryType; + +typedef KS_LogicalMemoryType *PKS_LogicalMemoryType; + +typedef struct _PIPE_TERMINATION { + ULONG Flags; + ULONG OutsideFactors; + ULONG Weigth; + KS_FRAMING_RANGE PhysicalRange; + KS_FRAMING_RANGE_WEIGHTED OptimalRange; + KS_COMPRESSION Compression; +} PIPE_TERMINATION; + +typedef struct _ALLOCATOR_PROPERTIES_EX +{ + long cBuffers; + long cbBuffer; + long cbAlign; + long cbPrefix; + + GUID MemoryType; + GUID BusType; + PIPE_STATE State; + PIPE_TERMINATION Input; + PIPE_TERMINATION Output; + ULONG Strategy; + ULONG Flags; + ULONG Weight; + KS_LogicalMemoryType LogicalMemoryType; + PIPE_ALLOCATOR_PLACE AllocatorPlace; + PIPE_DIMENSIONS Dimensions; + KS_FRAMING_RANGE PhysicalRange; + IKsAllocatorEx *PrevSegment; + ULONG CountNextSegments; + IKsAllocatorEx **NextSegments; + ULONG InsideFactors; + ULONG NumberPins; +} ALLOCATOR_PROPERTIES_EX; + +typedef ALLOCATOR_PROPERTIES_EX *PALLOCATOR_PROPERTIES_EX; + +#ifdef __STREAMS__ + +struct IKsClockPropertySet; +#undef INTERFACE +#define INTERFACE IKsClockPropertySet +DECLARE_INTERFACE_(IKsClockPropertySet,IUnknown) +{ + STDMETHOD(KsGetTime) (THIS_ + LONGLONG *Time + ) PURE; + STDMETHOD(KsSetTime) (THIS_ + LONGLONG Time + ) PURE; + STDMETHOD(KsGetPhysicalTime) (THIS_ + LONGLONG *Time + ) PURE; + STDMETHOD(KsSetPhysicalTime) (THIS_ + LONGLONG Time + ) PURE; + STDMETHOD(KsGetCorrelatedTime) (THIS_ + KSCORRELATED_TIME *CorrelatedTime + ) PURE; + STDMETHOD(KsSetCorrelatedTime) (THIS_ + KSCORRELATED_TIME *CorrelatedTime + ) PURE; + STDMETHOD(KsGetCorrelatedPhysicalTime)(THIS_ + KSCORRELATED_TIME *CorrelatedTime + ) PURE; + STDMETHOD(KsSetCorrelatedPhysicalTime)(THIS_ + KSCORRELATED_TIME *CorrelatedTime + ) PURE; + STDMETHOD(KsGetResolution) (THIS_ + KSRESOLUTION *Resolution + ) PURE; + STDMETHOD(KsGetState) (THIS_ + KSSTATE *State + ) PURE; +}; + +struct IKsAllocator; +#undef INTERFACE +#define INTERFACE IKsAllocator +DECLARE_INTERFACE_(IKsAllocator,IUnknown) +{ + STDMETHOD_(HANDLE,KsGetAllocatorHandle)(THIS) PURE; + STDMETHOD_(KSALLOCATORMODE,KsGetAllocatorMode)(THIS) PURE; + STDMETHOD(KsGetAllocatorStatus) (THIS_ + PKSSTREAMALLOCATOR_STATUS AllocatorStatus + ) PURE; + STDMETHOD_(VOID,KsSetAllocatorMode) (THIS_ + KSALLOCATORMODE Mode + ) PURE; +}; + +struct IKsAllocatorEx; +#undef INTERFACE +#define INTERFACE IKsAllocatorEx +DECLARE_INTERFACE_(IKsAllocatorEx,IKsAllocator) +{ + STDMETHOD_(PALLOCATOR_PROPERTIES_EX,KsGetProperties)(THIS) PURE; + STDMETHOD_(VOID,KsSetProperties) (THIS_ + PALLOCATOR_PROPERTIES_EX + ) PURE; + STDMETHOD_(VOID,KsSetAllocatorHandle) (THIS_ + HANDLE AllocatorHandle + ) PURE; + STDMETHOD_(HANDLE,KsCreateAllocatorAndGetHandle)(THIS_ + IKsPin *KsPin + ) PURE; +}; + +typedef enum { + KsPeekOperation_PeekOnly, + KsPeekOperation_AddRef +} KSPEEKOPERATION; + +typedef struct _KSSTREAM_SEGMENT *PKSSTREAM_SEGMENT; +struct IKsPin; + +#undef INTERFACE +#define INTERFACE IKsPin +DECLARE_INTERFACE_(IKsPin,IUnknown) +{ + STDMETHOD(KsQueryMediums) (THIS_ + PKSMULTIPLE_ITEM *MediumList + ) PURE; + STDMETHOD(KsQueryInterfaces) (THIS_ + PKSMULTIPLE_ITEM *InterfaceList + ) PURE; + STDMETHOD(KsCreateSinkPinHandle) (THIS_ + KSPIN_INTERFACE& Interface, + KSPIN_MEDIUM& Medium + ) PURE; + STDMETHOD(KsGetCurrentCommunication) (THIS_ + KSPIN_COMMUNICATION *Communication, + KSPIN_INTERFACE *Interface, + KSPIN_MEDIUM *Medium + ) PURE; + STDMETHOD(KsPropagateAcquire) (THIS) PURE; + STDMETHOD(KsDeliver) (THIS_ + IMediaSample *Sample, + ULONG Flags + ) PURE; + STDMETHOD(KsMediaSamplesCompleted) (THIS_ + PKSSTREAM_SEGMENT StreamSegment + ) PURE; + STDMETHOD_(IMemAllocator *,KsPeekAllocator)(THIS_ + KSPEEKOPERATION Operation + ) PURE; + STDMETHOD(KsReceiveAllocator) (THIS_ + IMemAllocator *MemAllocator + ) PURE; + STDMETHOD(KsRenegotiateAllocator) (THIS) PURE; + STDMETHOD_(LONG,KsIncrementPendingIoCount)(THIS) PURE; + STDMETHOD_(LONG,KsDecrementPendingIoCount)(THIS) PURE; + STDMETHOD(KsQualityNotify) (THIS_ + ULONG Proportion, + REFERENCE_TIME TimeDelta + ) PURE; +}; + +struct IKsPinEx; +#undef INTERFACE +#define INTERFACE IKsPinEx +DECLARE_INTERFACE_(IKsPinEx,IKsPin) +{ + STDMETHOD_(VOID,KsNotifyError) (THIS_ + IMediaSample *Sample, + HRESULT hr + ) PURE; +}; + +struct IKsPinPipe; +#undef INTERFACE +#define INTERFACE IKsPinPipe +DECLARE_INTERFACE_(IKsPinPipe,IUnknown) +{ + STDMETHOD(KsGetPinFramingCache) (THIS_ + PKSALLOCATOR_FRAMING_EX *FramingEx, + PFRAMING_PROP FramingProp, + FRAMING_CACHE_OPS Option + ) PURE; + STDMETHOD(KsSetPinFramingCache) (THIS_ + PKSALLOCATOR_FRAMING_EX FramingEx, + PFRAMING_PROP FramingProp, + FRAMING_CACHE_OPS Option + ) PURE; + STDMETHOD_(IPin*,KsGetConnectedPin) (THIS) PURE; + STDMETHOD_(IKsAllocatorEx*,KsGetPipe) (THIS_ + KSPEEKOPERATION Operation + ) PURE; + STDMETHOD(KsSetPipe) (THIS_ + IKsAllocatorEx *KsAllocator + ) PURE; + STDMETHOD_(ULONG,KsGetPipeAllocatorFlag)(THIS) PURE; + STDMETHOD(KsSetPipeAllocatorFlag) (THIS_ + ULONG Flag + ) PURE; + STDMETHOD_(GUID,KsGetPinBusCache) (THIS) PURE; + STDMETHOD(KsSetPinBusCache) (THIS_ + GUID Bus + ) PURE; + STDMETHOD_(PWCHAR,KsGetPinName) (THIS) PURE; + STDMETHOD_(PWCHAR,KsGetFilterName) (THIS) PURE; +}; + +struct IKsPinFactory; +#undef INTERFACE +#define INTERFACE IKsPinFactory +DECLARE_INTERFACE_(IKsPinFactory,IUnknown) +{ + STDMETHOD(KsPinFactory) (THIS_ + ULONG *PinFactory + ) PURE; +}; + +typedef enum { + KsIoOperation_Write, + KsIoOperation_Read +} KSIOOPERATION; + +struct IKsDataTypeHandler; +#undef INTERFACE +#define INTERFACE IKsDataTypeHandler +DECLARE_INTERFACE_(IKsDataTypeHandler,IUnknown) +{ + STDMETHOD(KsCompleteIoOperation) (THIS_ + IMediaSample *Sample, + PVOID StreamHeader, + KSIOOPERATION IoOperation, + WINBOOL Cancelled + ) PURE; + STDMETHOD(KsIsMediaTypeInRanges) (THIS_ + PVOID DataRanges + ) PURE; + STDMETHOD(KsPrepareIoOperation) (THIS_ + IMediaSample *Sample, + PVOID StreamHeader, + KSIOOPERATION IoOperation + ) PURE; + STDMETHOD(KsQueryExtendedSize) (THIS_ + ULONG *ExtendedSize + ) PURE; + STDMETHOD(KsSetMediaType) (THIS_ + const AM_MEDIA_TYPE *AmMediaType + ) PURE; +}; + +struct IKsDataTypeCompletion; +#undef INTERFACE +#define INTERFACE IKsDataTypeCompletion +DECLARE_INTERFACE_(IKsDataTypeCompletion,IUnknown) +{ + STDMETHOD(KsCompleteMediaType) (THIS_ + HANDLE FilterHandle, + ULONG PinFactoryId, + AM_MEDIA_TYPE *AmMediaType + ) PURE; +}; + +struct IKsInterfaceHandler; +#undef INTERFACE +#define INTERFACE IKsInterfaceHandler +DECLARE_INTERFACE_(IKsInterfaceHandler,IUnknown) +{ + STDMETHOD(KsSetPin) (THIS_ + IKsPin *KsPin + ) PURE; + STDMETHOD(KsProcessMediaSamples) (THIS_ + IKsDataTypeHandler *KsDataTypeHandler, + IMediaSample **SampleList, + PLONG SampleCount, + KSIOOPERATION IoOperation, + PKSSTREAM_SEGMENT *StreamSegment + ) PURE; + STDMETHOD(KsCompleteIo) (THIS_ + PKSSTREAM_SEGMENT StreamSegment + ) PURE; +}; + +typedef struct _KSSTREAM_SEGMENT { + IKsInterfaceHandler *KsInterfaceHandler; + IKsDataTypeHandler *KsDataTypeHandler; + KSIOOPERATION IoOperation; + HANDLE CompletionEvent; +} KSSTREAM_SEGMENT; + +struct IKsObject; +#undef INTERFACE +#define INTERFACE IKsObject +DECLARE_INTERFACE_(IKsObject,IUnknown) +{ + STDMETHOD_(HANDLE,KsGetObjectHandle) (THIS) PURE; +}; + +struct IKsQualityForwarder; +#undef INTERFACE +#define INTERFACE IKsQualityForwarder +DECLARE_INTERFACE_(IKsQualityForwarder,IKsObject) +{ + STDMETHOD_(VOID,KsFlushClient) (THIS_ + IKsPin *Pin + ) PURE; +}; + +struct IKsNotifyEvent; +#undef INTERFACE +#define INTERFACE IKsNotifyEvent +DECLARE_INTERFACE_(IKsNotifyEvent,IUnknown) +{ + STDMETHOD(KsNotifyEvent) (THIS_ + ULONG Event, + ULONG_PTR lParam1, + ULONG_PTR lParam2 + ) PURE; +}; + +KSDDKAPI HRESULT WINAPI KsResolveRequiredAttributes(PKSDATARANGE DataRange,PKSMULTIPLE_ITEM Attributes); +KSDDKAPI HRESULT WINAPI KsOpenDefaultDevice(REFGUID Category,ACCESS_MASK Access,PHANDLE DeviceHandle); +KSDDKAPI HRESULT WINAPI KsSynchronousDeviceControl(HANDLE Handle,ULONG IoControl,PVOID InBuffer,ULONG InLength,PVOID OutBuffer,ULONG OutLength,PULONG BytesReturned); +KSDDKAPI HRESULT WINAPI KsGetMultiplePinFactoryItems(HANDLE FilterHandle,ULONG PinFactoryId,ULONG PropertyId,PVOID *Items); +KSDDKAPI HRESULT WINAPI KsGetMediaTypeCount(HANDLE FilterHandle,ULONG PinFactoryId,ULONG *MediaTypeCount); +KSDDKAPI HRESULT WINAPI KsGetMediaType(int Position,AM_MEDIA_TYPE *AmMediaType,HANDLE FilterHandle,ULONG PinFactoryId); +#endif /* __STREAMS__ */ + +#ifndef _IKsPropertySet_ +DEFINE_GUIDEX(IID_IKsPropertySet); +#endif + +#ifndef _IKsControl_ +DEFINE_GUIDEX(IID_IKsControl); +#endif + +DEFINE_GUIDEX(IID_IKsAggregateControl); +#ifndef _IKsTopology_ +DEFINE_GUIDEX(IID_IKsTopology); +#endif +DEFINE_GUIDSTRUCT("17CCA71B-ECD7-11D0-B908-00A0C9223196",CLSID_Proxy); +#define CLSID_Proxy DEFINE_GUIDNAMED(CLSID_Proxy) + +#else /* _KS_ */ + +#ifndef _IKsPropertySet_ +DEFINE_GUID(IID_IKsPropertySet,STATIC_IID_IKsPropertySet); +#endif + +DEFINE_GUID(CLSID_Proxy,STATIC_CLSID_Proxy); + +#endif /* _KS_ */ + +#ifndef _IKsPropertySet_ +#define _IKsPropertySet_ +#define KSPROPERTY_SUPPORT_GET 1 +#define KSPROPERTY_SUPPORT_SET 2 + +#ifdef DECLARE_INTERFACE_ +struct IKsPropertySet; +#undef INTERFACE +#define INTERFACE IKsPropertySet +DECLARE_INTERFACE_(IKsPropertySet,IUnknown) +{ + STDMETHOD(Set) (THIS_ + REFGUID PropSet, + ULONG Id, + LPVOID InstanceData, + ULONG InstanceLength, + LPVOID PropertyData, + ULONG DataLength + ) PURE; + STDMETHOD(Get) (THIS_ + REFGUID PropSet, + ULONG Id, + LPVOID InstanceData, + ULONG InstanceLength, + LPVOID PropertyData, + ULONG DataLength, + ULONG *BytesReturned + ) PURE; + STDMETHOD(QuerySupported) (THIS_ + REFGUID PropSet, + ULONG Id, + ULONG *TypeSupport + ) PURE; +}; +#endif /* DECLARE_INTERFACE_ */ +#endif /* _IKsPropertySet_ */ + +#ifndef _IKsControl_ +#define _IKsControl_ +#ifdef DECLARE_INTERFACE_ +struct IKsControl; +#undef INTERFACE +#define INTERFACE IKsControl +DECLARE_INTERFACE_(IKsControl,IUnknown) +{ + STDMETHOD(KsProperty) (THIS_ + PKSPROPERTY Property, + ULONG PropertyLength, + LPVOID PropertyData, + ULONG DataLength, + ULONG *BytesReturned + ) PURE; + STDMETHOD(KsMethod) (THIS_ + PKSMETHOD Method, + ULONG MethodLength, + LPVOID MethodData, + ULONG DataLength, + ULONG *BytesReturned + ) PURE; + STDMETHOD(KsEvent) (THIS_ + PKSEVENT Event, + ULONG EventLength, + LPVOID EventData, + ULONG DataLength, + ULONG *BytesReturned + ) PURE; +}; +#endif /* DECLARE_INTERFACE_ */ +#endif /* _IKsControl_ */ + +#ifdef DECLARE_INTERFACE_ +struct IKsAggregateControl; +#undef INTERFACE +#define INTERFACE IKsAggregateControl +DECLARE_INTERFACE_(IKsAggregateControl,IUnknown) +{ + STDMETHOD(KsAddAggregate) (THIS_ + REFGUID AggregateClass + ) PURE; + STDMETHOD(KsRemoveAggregate) (THIS_ + REFGUID AggregateClass + ) PURE; +}; +#endif /* DECLARE_INTERFACE_ */ + +#ifndef _IKsTopology_ +#define _IKsTopology_ +#ifdef DECLARE_INTERFACE_ +struct IKsTopology; +#undef INTERFACE +#define INTERFACE IKsTopology +DECLARE_INTERFACE_(IKsTopology,IUnknown) +{ + STDMETHOD(CreateNodeInstance) (THIS_ + ULONG NodeId, + ULONG Flags, + ACCESS_MASK DesiredAccess, + IUnknown *UnkOuter, + REFGUID InterfaceId, + LPVOID *Interface + ) PURE; +}; +#endif /* DECLARE_INTERFACE_ */ +#endif /* _IKsTopology_ */ + +#ifdef __cplusplus +} +#endif + +#endif /* __KSPROXY__ */ |