| ks.h (6.0.6001.18000-Windows 6.0) | | ks.h (6.1.7601.19091-Windows 7.0) |
| | |
| skipping to change at line 19 | | skipping to change at line 19 |
| Abstract: | | Abstract: |
| | |
| Windows Driver Model/Connection and Streaming Architecture (WDM-CSA) | | Windows Driver Model/Connection and Streaming Architecture (WDM-CSA) |
| core definitions. | | core definitions. |
| | |
| --*/ | | --*/ |
| | |
| #if !defined(_KS_) | | #if !defined(_KS_) |
| #define _KS_ | | #define _KS_ |
| | |
|
| | #pragma warning(disable:4201) // nameless struct/union |
| | #pragma warning(disable:4214) // bit field types other than int |
| | |
| #if defined(__TCS__) | | #if defined(__TCS__) |
| #define _KS_NO_ANONYMOUS_STRUCTURES_ 1 | | #define _KS_NO_ANONYMOUS_STRUCTURES_ 1 |
| #endif | | #endif |
| | |
| #if !defined(_NTRTL_) | | #if !defined(_NTRTL_) |
| #ifndef DEFINE_GUIDEX | | #ifndef DEFINE_GUIDEX |
| #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name | | #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name |
| #endif // !defined(DEFINE_GUIDEX) | | #endif // !defined(DEFINE_GUIDEX) |
| | |
| #ifndef STATICGUIDOF | | #ifndef STATICGUIDOF |
| | |
| skipping to change at line 707 | | skipping to change at line 710 |
| // | | // |
| // properties used by graph manager to talk to particular filters | | // properties used by graph manager to talk to particular filters |
| // | | // |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| | |
| #define STATIC_KSPROPSETID_GM \ | | #define STATIC_KSPROPSETID_GM \ |
| 0xAF627536L, 0xE719, 0x11D2, 0x8A, 0x1D, 0x00, 0x60, 0x97, 0xD2, 0xDF, 0x5D | | 0xAF627536L, 0xE719, 0x11D2, 0x8A, 0x1D, 0x00, 0x60, 0x97, 0xD2, 0xDF, 0x5D |
| DEFINE_GUIDSTRUCT("AF627536-E719-11D2-8A1D-006097D2DF5D", KSPROPSETID_GM); | | DEFINE_GUIDSTRUCT("AF627536-E719-11D2-8A1D-006097D2DF5D", KSPROPSETID_GM); |
| #define KSPROPSETID_GM DEFINE_GUIDNAMED(KSPROPSETID_GM) | | #define KSPROPSETID_GM DEFINE_GUIDNAMED(KSPROPSETID_GM) |
| | |
|
| typedef VOID (*PFNKSGRAPHMANAGER_NOTIFY)(IN PFILE_OBJECT GraphManager, | | typedef VOID (*PFNKSGRAPHMANAGER_NOTIFY)(__in PFILE_OBJECT GraphManager, |
| IN ULONG EventId, | | __in ULONG EventId, |
| IN PVOID Filter, | | __in PVOID Filter, |
| IN PVOID Pin, | | __in PVOID Pin, |
| IN PVOID Frame, | | __in PVOID Frame, |
| IN ULONG Duration); | | __in ULONG Duration); |
| | |
| typedef struct KSGRAPHMANAGER_FUNCTIONTABLE { | | typedef struct KSGRAPHMANAGER_FUNCTIONTABLE { |
| PFNKSGRAPHMANAGER_NOTIFY NotifyEvent; | | PFNKSGRAPHMANAGER_NOTIFY NotifyEvent; |
| } KSGRAPHMANAGER_FUNCTIONTABLE, PKSGRAPHMANAGER_FUNCTIONTABLE; | | } KSGRAPHMANAGER_FUNCTIONTABLE, PKSGRAPHMANAGER_FUNCTIONTABLE; |
| | |
| typedef struct _KSPROPERTY_GRAPHMANAGER_INTERFACE { | | typedef struct _KSPROPERTY_GRAPHMANAGER_INTERFACE { |
| PFILE_OBJECT GraphManager; | | PFILE_OBJECT GraphManager; |
| KSGRAPHMANAGER_FUNCTIONTABLE FunctionTable; | | KSGRAPHMANAGER_FUNCTIONTABLE FunctionTable; |
| } KSPROPERTY_GRAPHMANAGER_INTERFACE, *PKSPROPERTY_GRAPHMANAGER_INTERFACE; | | } KSPROPERTY_GRAPHMANAGER_INTERFACE, *PKSPROPERTY_GRAPHMANAGER_INTERFACE; |
| | |
| | |
| skipping to change at line 777 | | skipping to change at line 780 |
| #define STATIC_KSCATEGORY_DATADECOMPRESSOR \ | | #define STATIC_KSCATEGORY_DATADECOMPRESSOR \ |
| 0x2721AE20L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x2721AE20L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000", KSCATEGORY_DATADECOMPR
ESSOR); | | DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000", KSCATEGORY_DATADECOMPR
ESSOR); |
| #define KSCATEGORY_DATADECOMPRESSOR DEFINE_GUIDNAMED(KSCATEGORY_DATADECOMPRESSOR
) | | #define KSCATEGORY_DATADECOMPRESSOR DEFINE_GUIDNAMED(KSCATEGORY_DATADECOMPRESSOR
) |
| | |
| #define STATIC_KSCATEGORY_DATATRANSFORM \ | | #define STATIC_KSCATEGORY_DATATRANSFORM \ |
| 0x2EB07EA0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x2EB07EA0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000", KSCATEGORY_DATATRANSFO
RM); | | DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000", KSCATEGORY_DATATRANSFO
RM); |
| #define KSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_DATATRANSFORM) | | #define KSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_DATATRANSFORM) |
| | |
|
| | // |
| | // KSMFT_CATEGORY_XXX are MF Transform category guids redefined in ks.h |
| | // to facilitate KS Mini drivers to register KS Filters under MF Transform categ |
| | ories. |
| | // |
| | #define STATIC_KSMFT_CATEGORY_VIDEO_DECODER \ |
| | 0xd6c02d4b, 0x6833, 0x45b4, 0x97, 0x1a, 0x05, 0xa4, 0xb0, 0x4b, 0xab, 0x9 |
| | 1 |
| | DEFINE_GUIDSTRUCT("d6c02d4b-6833-45b4-971a-05a4b04bab91", KSMFT_CATEGORY_VIDEO_D |
| | ECODER); |
| | #define KSMFT_CATEGORY_VIDEO_DECODER DEFINE_GUIDNAMED(KSMFT_CATEGORY_VIDEO_DECOD |
| | ER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_VIDEO_ENCODER \ |
| | 0xf79eac7d, 0xe545, 0x4387, 0xbd, 0xee, 0xd6, 0x47, 0xd7, 0xbd, 0xe4, 0x2 |
| | a |
| | DEFINE_GUIDSTRUCT("f79eac7d-e545-4387-bdee-d647d7bde42a", KSMFT_CATEGORY_VIDEO_E |
| | NCODER); |
| | #define KSMFT_CATEGORY_VIDEO_ENCODER DEFINE_GUIDNAMED(KSMFT_CATEGORY_VIDEO_ENCOD |
| | ER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_VIDEO_EFFECT \ |
| | 0x12e17c21, 0x532c, 0x4a6e, 0x8a, 0x1c, 0x40, 0x82, 0x5a, 0x73, 0x63, 0x9 |
| | 7 |
| | DEFINE_GUIDSTRUCT("12e17c21-532c-4a6e-8a1c-40825a736397", KSMFT_CATEGORY_VIDEO_E |
| | FFECT); |
| | #define KSMFT_CATEGORY_VIDEO_EFFECT DEFINE_GUIDNAMED(KSMFT_CATEGORY_VIDEO_EFFECT |
| | ) |
| | |
| | #define STATIC_KSMFT_CATEGORY_MULTIPLEXER \ |
| | 0x059c561e, 0x05ae, 0x4b61, 0xb6, 0x9d, 0x55, 0xb6, 0x1e, 0xe5, 0x4a, 0x7 |
| | b |
| | DEFINE_GUIDSTRUCT("059c561e-05ae-4b61-b69d-55b61ee54a7b", KSMFT_CATEGORY_MULTIPL |
| | EXER); |
| | #define KSMFT_CATEGORY_MULTIPLEXER DEFINE_GUIDNAMED(KSMFT_CATEGORY_MULTIPLEXER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_DEMULTIPLEXER \ |
| | 0xa8700a7a, 0x939b, 0x44c5, 0x99, 0xd7, 0x76, 0x22, 0x6b, 0x23, 0xb3, 0xf |
| | 1 |
| | DEFINE_GUIDSTRUCT("a8700a7a-939b-44c5-99d7-76226b23b3f1", KSMFT_CATEGORY_DEMULTI |
| | PLEXER); |
| | #define KSMFT_CATEGORY_DEMULTIPLEXER DEFINE_GUIDNAMED(KSMFT_CATEGORY_DEMULTIPLEX |
| | ER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_AUDIO_DECODER \ |
| | 0x9ea73fb4, 0xef7a, 0x4559, 0x8d, 0x5d, 0x71, 0x9d, 0x8f, 0x04, 0x26, 0xc |
| | 7 |
| | DEFINE_GUIDSTRUCT("9ea73fb4-ef7a-4559-8d5d-719d8f0426c7", KSMFT_CATEGORY_AUDIO_D |
| | ECODER); |
| | #define KSMFT_CATEGORY_AUDIO_DECODER DEFINE_GUIDNAMED(KSMFT_CATEGORY_AUDIO_DECOD |
| | ER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_AUDIO_ENCODER \ |
| | 0x91c64bd0, 0xf91e, 0x4d8c, 0x92, 0x76, 0xdb, 0x24, 0x82, 0x79, 0xd9, 0x7 |
| | 5 |
| | DEFINE_GUIDSTRUCT("91c64bd0-f91e-4d8c-9276-db248279d975", KSMFT_CATEGORY_AUDIO_E |
| | NCODER); |
| | #define KSMFT_CATEGORY_AUDIO_ENCODER DEFINE_GUIDNAMED(KSMFT_CATEGORY_AUDIO_ENCOD |
| | ER) |
| | |
| | #define STATIC_KSMFT_CATEGORY_AUDIO_EFFECT \ |
| | 0x11064c48, 0x3648, 0x4ed0, 0x93, 0x2e, 0x05, 0xce, 0x8a, 0xc8, 0x11, 0xb |
| | 7 |
| | DEFINE_GUIDSTRUCT("11064c48-3648-4ed0-932e-05ce8ac811b7", KSMFT_CATEGORY_AUDIO_E |
| | FFECT); |
| | #define KSMFT_CATEGORY_AUDIO_EFFECT DEFINE_GUIDNAMED(KSMFT_CATEGORY_AUDIO_EFFECT |
| | ) |
| | |
| | #define STATIC_KSMFT_CATEGORY_VIDEO_PROCESSOR \ |
| | 0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x2 |
| | DEFINE_GUIDSTRUCT("302ea3fc-aa5f-47f9-9f7a-c2188bb16302", KSMFT_CATEGORY_VIDEO_P |
| | ROCESSOR); |
| | #define KSMFT_CATEGORY_VIDEO_PROCESSOR DEFINE_GUIDNAMED(KSMFT_CATEGORY_VIDEO_PRO |
| | CESSOR) |
| | |
| | #define STATIC_KSMFT_CATEGORY_OTHER \ |
| | 0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6 |
| | f |
| | DEFINE_GUIDSTRUCT("90175d57-b7ea-4901-aeb3-933a8747756f", KSMFT_CATEGORY_OTHER); |
| | #define KSMFT_CATEGORY_OTHER DEFINE_GUIDNAMED(KSMFT_CATEGORY_OTHER) |
| | |
| #define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \ | | #define STATIC_KSCATEGORY_COMMUNICATIONSTRANSFORM \ |
| 0xCF1DDA2CL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0xCF1DDA2CL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196", KSCATEGORY_COMMUNICATI
ONSTRANSFORM); | | DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196", KSCATEGORY_COMMUNICATI
ONSTRANSFORM); |
| #define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICA
TIONSTRANSFORM) | | #define KSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_COMMUNICA
TIONSTRANSFORM) |
| | |
| #define STATIC_KSCATEGORY_INTERFACETRANSFORM \ | | #define STATIC_KSCATEGORY_INTERFACETRANSFORM \ |
| 0xCF1DDA2DL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0xCF1DDA2DL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196", KSCATEGORY_INTERFACETR
ANSFORM); | | DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196", KSCATEGORY_INTERFACETR
ANSFORM); |
| #define KSCATEGORY_INTERFACETRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_INTERFACETRANS
FORM) | | #define KSCATEGORY_INTERFACETRANSFORM DEFINE_GUIDNAMED(KSCATEGORY_INTERFACETRANS
FORM) |
| | |
| | |
| skipping to change at line 822 | | skipping to change at line 879 |
| | |
| typedef struct { | | typedef struct { |
| ULONG FromNode; | | ULONG FromNode; |
| ULONG FromNodePin; | | ULONG FromNodePin; |
| ULONG ToNode; | | ULONG ToNode; |
| ULONG ToNodePin; | | ULONG ToNodePin; |
| } KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION; | | } KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION; |
| | |
| typedef struct { | | typedef struct { |
| ULONG CategoriesCount; | | ULONG CategoriesCount; |
|
| | __field_ecount(CategoriesCount) |
| const GUID* Categories; | | const GUID* Categories; |
| ULONG TopologyNodesCount; | | ULONG TopologyNodesCount; |
|
| | __field_ecount(TopologyNodesCount) |
| const GUID* TopologyNodes; | | const GUID* TopologyNodes; |
| ULONG TopologyConnectionsCount; | | ULONG TopologyConnectionsCount; |
|
| | __field_ecount(TopologyConnectionsCount) |
| const KSTOPOLOGY_CONNECTION* TopologyConnections; | | const KSTOPOLOGY_CONNECTION* TopologyConnections; |
|
| | __field_ecount(TopologyNodesCount) |
| const GUID* TopologyNodesNames; | | const GUID* TopologyNodesNames; |
| ULONG Reserved; | | ULONG Reserved; |
| } KSTOPOLOGY, *PKSTOPOLOGY; | | } KSTOPOLOGY, *PKSTOPOLOGY; |
| | |
| #define KSFILTER_NODE ((ULONG)-1) | | #define KSFILTER_NODE ((ULONG)-1) |
| #define KSALL_NODES ((ULONG)-1) | | #define KSALL_NODES ((ULONG)-1) |
| | |
| typedef struct { | | typedef struct { |
| ULONG CreateFlags; | | ULONG CreateFlags; |
| ULONG Node; | | ULONG Node; |
| | |
| skipping to change at line 887 | | skipping to change at line 948 |
| typedef KSIDENTIFIER KSPIN_INTERFACE, *PKSPIN_INTERFACE; | | typedef KSIDENTIFIER KSPIN_INTERFACE, *PKSPIN_INTERFACE; |
| | |
| #define STATIC_KSINTERFACESETID_Standard \ | | #define STATIC_KSINTERFACESETID_Standard \ |
| 0x1A8766A0L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x1A8766A0L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("1A8766A0-62CE-11CF-A5D6-28DB04C10000", KSINTERFACESETID_Stand
ard); | | DEFINE_GUIDSTRUCT("1A8766A0-62CE-11CF-A5D6-28DB04C10000", KSINTERFACESETID_Stand
ard); |
| #define KSINTERFACESETID_Standard DEFINE_GUIDNAMED(KSINTERFACESETID_Standard) | | #define KSINTERFACESETID_Standard DEFINE_GUIDNAMED(KSINTERFACESETID_Standard) |
| | |
| typedef enum { | | typedef enum { |
| KSINTERFACE_STANDARD_STREAMING, | | KSINTERFACE_STANDARD_STREAMING, |
| KSINTERFACE_STANDARD_LOOPED_STREAMING, | | KSINTERFACE_STANDARD_LOOPED_STREAMING, |
|
| KSINTERFACE_STANDARD_CONTROL | | KSINTERFACE_STANDARD_CONTROL //Reserved for system use |
| } KSINTERFACE_STANDARD; | | } KSINTERFACE_STANDARD; |
| | |
| #define STATIC_KSINTERFACESETID_FileIo \ | | #define STATIC_KSINTERFACESETID_FileIo \ |
| 0x8C6F932CL, 0xE771, 0x11D0, 0xB8, 0xFF, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0x8C6F932CL, 0xE771, 0x11D0, 0xB8, 0xFF, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("8C6F932C-E771-11D0-B8FF-00A0C9223196", KSINTERFACESETID_FileI
o); | | DEFINE_GUIDSTRUCT("8C6F932C-E771-11D0-B8FF-00A0C9223196", KSINTERFACESETID_FileI
o); |
| #define KSINTERFACESETID_FileIo DEFINE_GUIDNAMED(KSINTERFACESETID_FileIo) | | #define KSINTERFACESETID_FileIo DEFINE_GUIDNAMED(KSINTERFACESETID_FileIo) |
| | |
| typedef enum { | | typedef enum { |
| KSINTERFACE_FILEIO_STREAMING | | KSINTERFACE_FILEIO_STREAMING |
| } KSINTERFACE_FILEIO; | | } KSINTERFACE_FILEIO; |
| | |
| skipping to change at line 942 | | skipping to change at line 1003 |
| KSPROPERTY_PIN_CONSTRAINEDDATARANGES, | | KSPROPERTY_PIN_CONSTRAINEDDATARANGES, |
| KSPROPERTY_PIN_PROPOSEDATAFORMAT | | KSPROPERTY_PIN_PROPOSEDATAFORMAT |
| } KSPROPERTY_PIN; | | } KSPROPERTY_PIN; |
| | |
| typedef struct { | | typedef struct { |
| KSPROPERTY Property; | | KSPROPERTY Property; |
| ULONG PinId; | | ULONG PinId; |
| ULONG Reserved; | | ULONG Reserved; |
| } KSP_PIN, *PKSP_PIN; | | } KSP_PIN, *PKSP_PIN; |
| | |
|
| | typedef struct { |
| | KSEVENT Event; |
| | ULONG PinId; |
| | ULONG Reserved; |
| | } KSE_PIN, *PKSE_PIN; |
| | |
| #define KSINSTANCE_INDETERMINATE ((ULONG)-1) | | #define KSINSTANCE_INDETERMINATE ((ULONG)-1) |
| | |
| typedef struct { | | typedef struct { |
| ULONG PossibleCount; | | ULONG PossibleCount; |
| ULONG CurrentCount; | | ULONG CurrentCount; |
| } KSPIN_CINSTANCES, *PKSPIN_CINSTANCES; | | } KSPIN_CINSTANCES, *PKSPIN_CINSTANCES; |
| | |
| typedef enum { | | typedef enum { |
| KSPIN_DATAFLOW_IN = 1, | | KSPIN_DATAFLOW_IN = 1, |
| KSPIN_DATAFLOW_OUT | | KSPIN_DATAFLOW_OUT |
| | |
| skipping to change at line 1000 | | skipping to change at line 1067 |
| | |
| typedef struct { | | typedef struct { |
| ULONG Size; | | ULONG Size; |
| ULONG Flags; | | ULONG Flags; |
| GUID Attribute; | | GUID Attribute; |
| } KSATTRIBUTE, *PKSATTRIBUTE; | | } KSATTRIBUTE, *PKSATTRIBUTE; |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| typedef struct { | | typedef struct { |
| ULONG Count; | | ULONG Count; |
|
| PKSATTRIBUTE* Attributes; | | __field_ecount(Count) PKSATTRIBUTE* Attributes; |
| } KSATTRIBUTE_LIST, *PKSATTRIBUTE_LIST; | | } KSATTRIBUTE_LIST, *PKSATTRIBUTE_LIST; |
| #endif // _NTDDK_ | | #endif // _NTDDK_ |
| | |
| typedef enum { | | typedef enum { |
| KSPIN_COMMUNICATION_NONE, | | KSPIN_COMMUNICATION_NONE, |
| KSPIN_COMMUNICATION_SINK, | | KSPIN_COMMUNICATION_SINK, |
| KSPIN_COMMUNICATION_SOURCE, | | KSPIN_COMMUNICATION_SOURCE, |
| KSPIN_COMMUNICATION_BOTH, | | KSPIN_COMMUNICATION_BOTH, |
| KSPIN_COMMUNICATION_BRIDGE | | KSPIN_COMMUNICATION_BRIDGE |
| } KSPIN_COMMUNICATION, *PKSPIN_COMMUNICATION; | | } KSPIN_COMMUNICATION, *PKSPIN_COMMUNICATION; |
| | |
| skipping to change at line 1029 | | skipping to change at line 1096 |
| KSPRIORITY Priority; | | KSPRIORITY Priority; |
| } KSPIN_CONNECT, *PKSPIN_CONNECT; | | } KSPIN_CONNECT, *PKSPIN_CONNECT; |
| | |
| typedef struct { | | typedef struct { |
| ULONG Size; | | ULONG Size; |
| ULONG Pin; | | ULONG Pin; |
| WCHAR SymbolicLinkName[1]; | | WCHAR SymbolicLinkName[1]; |
| } KSPIN_PHYSICALCONNECTION, *PKSPIN_PHYSICALCONNECTION; | | } KSPIN_PHYSICALCONNECTION, *PKSPIN_PHYSICALCONNECTION; |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSINTERSECTHANDLER)( | | (*PFNKSINTERSECTHANDLER)( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSP_PIN Pin, | | __in PKSP_PIN Pin, |
| IN PKSDATARANGE DataRange, | | __in PKSDATARANGE DataRange, |
| OUT PVOID Data OPTIONAL | | __out_opt PVOID Data |
| ); | | ); |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSINTERSECTHANDLEREX)( | | (*PFNKSINTERSECTHANDLEREX)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSP_PIN Pin, | | __in PKSP_PIN Pin, |
| IN PKSDATARANGE DataRange, | | __in PKSDATARANGE DataRange, |
| IN PKSDATARANGE MatchingDataRange, | | __in PKSDATARANGE MatchingDataRange, |
| IN ULONG DataBufferSize, | | __in ULONG DataBufferSize, |
| OUT PVOID Data OPTIONAL, | | __out_bcount_part_opt(DataBufferSize, *DataSize) PVOID Data, |
| OUT PULONG DataSize | | __out PULONG DataSize |
| ); | | ); |
| #endif // _NTDDK_ | | #endif // _NTDDK_ |
| | |
| #define DEFINE_KSPIN_INTERFACE_TABLE(tablename)\ | | #define DEFINE_KSPIN_INTERFACE_TABLE(tablename)\ |
| const KSPIN_INTERFACE tablename[] = | | const KSPIN_INTERFACE tablename[] = |
| | |
| #define DEFINE_KSPIN_INTERFACE_ITEM(guid, interface)\ | | #define DEFINE_KSPIN_INTERFACE_ITEM(guid, interface)\ |
| {\ | | {\ |
| STATICGUIDOF(guid),\ | | STATICGUIDOF(guid),\ |
| (interface),\ | | (interface),\ |
| | |
| skipping to change at line 1218 | | skipping to change at line 1289 |
| DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\ | | DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\ | | DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\ |
| DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral)\ | | DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral)\ |
| } | | } |
| | |
|
| | #define STATIC_KSEVENTSETID_PinCapsChange \ |
| | 0xDD4F192E, 0x3B78, 0x49AD, 0xA5, 0x34, 0x2C, 0x31, 0x5b, 0x82, 0x20, 0x00 |
| | DEFINE_GUIDSTRUCT("DD4F192E-3B78-49AD-A534-2C315B822000", KSEVENTSETID_PinCapsCh |
| | ange); |
| | #define KSEVENTSETID_PinCapsChange DEFINE_GUIDNAMED(KSEVENTSETID_PinCapsChange) |
| | |
| | typedef enum { |
| | KSEVENT_PINCAPS_FORMATCHANGE, |
| | KSEVENT_PINCAPS_JACKINFOCHANGE |
| | } KSEVENT_PINCAPS_CHANGENOTIFICATIONS; |
| | |
| #define STATIC_KSNAME_Filter\ | | #define STATIC_KSNAME_Filter\ |
| 0x9b365890L, 0x165f, 0x11d0, 0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4 | | 0x9b365890L, 0x165f, 0x11d0, 0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4 |
| DEFINE_GUIDSTRUCT("9b365890-165f-11d0-a195-0020afd156e4", KSNAME_Filter); | | DEFINE_GUIDSTRUCT("9b365890-165f-11d0-a195-0020afd156e4", KSNAME_Filter); |
| #define KSNAME_Filter DEFINE_GUIDNAMED(KSNAME_Filter) | | #define KSNAME_Filter DEFINE_GUIDNAMED(KSNAME_Filter) |
| | |
| #define KSSTRING_Filter L"{9B365890-165F-11D0-A195-0020AFD156E4}" | | #define KSSTRING_Filter L"{9B365890-165F-11D0-A195-0020AFD156E4}" |
| | |
| #define STATIC_KSNAME_Pin\ | | #define STATIC_KSNAME_Pin\ |
| 0x146F1A80L, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x146F1A80L, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("146F1A80-4791-11D0-A5D6-28DB04C10000", KSNAME_Pin); | | DEFINE_GUIDSTRUCT("146F1A80-4791-11D0-A5D6-28DB04C10000", KSNAME_Pin); |
| | |
| skipping to change at line 1259 | | skipping to change at line 1340 |
| 0x0621061AL, 0xEE75, 0x11D0, 0xB9, 0x15, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0x0621061AL, 0xEE75, 0x11D0, 0xB9, 0x15, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("0621061A-EE75-11D0-B915-00A0C9223196", KSNAME_TopologyNode); | | DEFINE_GUIDSTRUCT("0621061A-EE75-11D0-B915-00A0C9223196", KSNAME_TopologyNode); |
| #define KSNAME_TopologyNode DEFINE_GUIDNAMED(KSNAME_TopologyNode) | | #define KSNAME_TopologyNode DEFINE_GUIDNAMED(KSNAME_TopologyNode) |
| | |
| #define KSSTRING_TopologyNode L"{0621061A-EE75-11D0-B915-00A0C9223196}" | | #define KSSTRING_TopologyNode L"{0621061A-EE75-11D0-B915-00A0C9223196}" |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| | |
| typedef struct { | | typedef struct { |
| ULONG InterfacesCount; | | ULONG InterfacesCount; |
|
| | __field_ecount(InterfacesCount) |
| const KSPIN_INTERFACE* Interfaces; | | const KSPIN_INTERFACE* Interfaces; |
| ULONG MediumsCount; | | ULONG MediumsCount; |
|
| | __field_ecount(MediumsCount) |
| const KSPIN_MEDIUM* Mediums; | | const KSPIN_MEDIUM* Mediums; |
| ULONG DataRangesCount; | | ULONG DataRangesCount; |
|
| | __field_ecount(DataRangesCount) |
| const PKSDATARANGE* DataRanges; | | const PKSDATARANGE* DataRanges; |
| KSPIN_DATAFLOW DataFlow; | | KSPIN_DATAFLOW DataFlow; |
| KSPIN_COMMUNICATION Communication; | | KSPIN_COMMUNICATION Communication; |
| const GUID* Category; | | const GUID* Category; |
| const GUID* Name; | | const GUID* Name; |
| union { | | union { |
| LONGLONG Reserved; | | LONGLONG Reserved; |
| struct { | | struct { |
| ULONG ConstrainedDataRangesCount; | | ULONG ConstrainedDataRangesCount; |
|
| | __field_ecount(ConstrainedDataRangesCount) |
| PKSDATARANGE* ConstrainedDataRanges; | | PKSDATARANGE* ConstrainedDataRanges; |
| }; | | }; |
| }; | | }; |
| } KSPIN_DESCRIPTOR, *PKSPIN_DESCRIPTOR; | | } KSPIN_DESCRIPTOR, *PKSPIN_DESCRIPTOR; |
| typedef const KSPIN_DESCRIPTOR *PCKSPIN_DESCRIPTOR; | | typedef const KSPIN_DESCRIPTOR *PCKSPIN_DESCRIPTOR; |
| | |
| #define DEFINE_KSPIN_DESCRIPTOR_TABLE(tablename)\ | | #define DEFINE_KSPIN_DESCRIPTOR_TABLE(tablename)\ |
| const KSPIN_DESCRIPTOR tablename[] = | | const KSPIN_DESCRIPTOR tablename[] = |
| | |
| #define DEFINE_KSPIN_DESCRIPTOR_ITEM(\ | | #define DEFINE_KSPIN_DESCRIPTOR_ITEM(\ |
| | |
| skipping to change at line 1540 | | skipping to change at line 1625 |
| ULONG Frames; // total number of allowable outstanding frames | | ULONG Frames; // total number of allowable outstanding frames |
| ULONG FrameSize; // total size of frame | | ULONG FrameSize; // total size of frame |
| ULONG FileAlignment; | | ULONG FileAlignment; |
| ULONG Reserved; | | ULONG Reserved; |
| } KSALLOCATOR_FRAMING, *PKSALLOCATOR_FRAMING; | | } KSALLOCATOR_FRAMING, *PKSALLOCATOR_FRAMING; |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| typedef | | typedef |
| PVOID | | PVOID |
| (*PFNKSDEFAULTALLOCATE)( | | (*PFNKSDEFAULTALLOCATE)( |
|
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNKSDEFAULTFREE)( | | (*PFNKSDEFAULTFREE)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PVOID Buffer | | __in PVOID Buffer |
| ); | | ); |
| | |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSINITIALIZEALLOCATOR)( | | (*PFNKSINITIALIZEALLOCATOR)( |
|
| IN PVOID InitialContext, | | __in PVOID InitialContext, |
| IN PKSALLOCATOR_FRAMING AllocatorFraming, | | __in PKSALLOCATOR_FRAMING AllocatorFraming, |
| OUT PVOID* Context | | __deref_out PVOID* Context |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNKSDELETEALLOCATOR)( | | (*PFNKSDELETEALLOCATOR)( |
|
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| #endif // !_NTDDK_ | | #endif // !_NTDDK_ |
| | |
| // | | // |
| // new Framing structure, eventually will replace KSALLOCATOR_FRAMING. | | // new Framing structure, eventually will replace KSALLOCATOR_FRAMING. |
| // | | // |
| typedef struct { | | typedef struct { |
| ULONG MinFrameSize; | | ULONG MinFrameSize; |
| ULONG MaxFrameSize; | | ULONG MaxFrameSize; |
| ULONG Stepping; | | ULONG Stepping; |
| | |
| skipping to change at line 1823 | | skipping to change at line 1908 |
| | |
| #define DEFINE_KSPROPERTY_ALLOCATORSET(AllocatorSet, PropFunctionTable, PropStat
us)\ | | #define DEFINE_KSPROPERTY_ALLOCATORSET(AllocatorSet, PropFunctionTable, PropStat
us)\ |
| DEFINE_KSPROPERTY_TABLE(AllocatorSet) {\ | | DEFINE_KSPROPERTY_TABLE(AllocatorSet) {\ |
| DEFINE_KSPROPERTY_ITEM_STREAMALLOCATOR_STATUS(PropStatus),\ | | DEFINE_KSPROPERTY_ITEM_STREAMALLOCATOR_STATUS(PropStatus),\ |
| DEFINE_KSPROPERTY_ITEM_STREAMALLOCATOR_FUNCTIONTABLE(PropFunctionTable)\ | | DEFINE_KSPROPERTY_ITEM_STREAMALLOCATOR_FUNCTIONTABLE(PropFunctionTable)\ |
| } | | } |
| | |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNALLOCATOR_ALLOCATEFRAME)( | | (*PFNALLOCATOR_ALLOCATEFRAME)( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| PVOID *Frame | | __deref_out PVOID *Frame |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNALLOCATOR_FREEFRAME)( | | (*PFNALLOCATOR_FREEFRAME)( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PVOID Frame | | __in PVOID Frame |
| ); | | ); |
| | |
| typedef struct { | | typedef struct { |
| PFNALLOCATOR_ALLOCATEFRAME AllocateFrame; | | PFNALLOCATOR_ALLOCATEFRAME AllocateFrame; |
| PFNALLOCATOR_FREEFRAME FreeFrame; | | PFNALLOCATOR_FREEFRAME FreeFrame; |
| } KSSTREAMALLOCATOR_FUNCTIONTABLE, *PKSSTREAMALLOCATOR_FUNCTIONTABLE; | | } KSSTREAMALLOCATOR_FUNCTIONTABLE, *PKSSTREAMALLOCATOR_FUNCTIONTABLE; |
| #endif // defined(_NTDDK_) | | #endif // defined(_NTDDK_) |
| | |
| typedef struct { | | typedef struct { |
| KSALLOCATOR_FRAMING Framing; | | KSALLOCATOR_FRAMING Framing; |
| | |
| skipping to change at line 1878 | | skipping to change at line 1963 |
| ULONG Denominator; | | ULONG Denominator; |
| } KSTIME, *PKSTIME; | | } KSTIME, *PKSTIME; |
| | |
| typedef struct { | | typedef struct { |
| ULONG Size; | | ULONG Size; |
| ULONG TypeSpecificFlags; | | ULONG TypeSpecificFlags; |
| KSTIME PresentationTime; | | KSTIME PresentationTime; |
| LONGLONG Duration; | | LONGLONG Duration; |
| ULONG FrameExtent; | | ULONG FrameExtent; |
| ULONG DataUsed; | | ULONG DataUsed; |
|
| | __field_bcount(FrameExtent) |
| PVOID Data; | | PVOID Data; |
| ULONG OptionsFlags; | | ULONG OptionsFlags; |
| #if _WIN64 | | #if _WIN64 |
| ULONG Reserved; | | ULONG Reserved; |
| #endif | | #endif |
| } KSSTREAM_HEADER, *PKSSTREAM_HEADER; | | } KSSTREAM_HEADER, *PKSSTREAM_HEADER; |
| | |
| #define STATIC_KSPROPSETID_StreamInterface\ | | #define STATIC_KSPROPSETID_StreamInterface\ |
| 0x1fdd8ee1L, 0x9cd3, 0x11d0, 0x82, 0xaa, 0x00, 0x00, 0xf8, 0x22, 0xfe, 0x8a | | 0x1fdd8ee1L, 0x9cd3, 0x11d0, 0x82, 0xaa, 0x00, 0x00, 0xf8, 0x22, 0xfe, 0x8a |
| DEFINE_GUIDSTRUCT("1fdd8ee1-9cd3-11d0-82aa-0000f822fe8a", KSPROPSETID_StreamInte
rface); | | DEFINE_GUIDSTRUCT("1fdd8ee1-9cd3-11d0-82aa-0000f822fe8a", KSPROPSETID_StreamInte
rface); |
| | |
| skipping to change at line 2095 | | skipping to change at line 2181 |
| KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME, | | KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME, |
| KSPROPERTY_CLOCK_RESOLUTION, | | KSPROPERTY_CLOCK_RESOLUTION, |
| KSPROPERTY_CLOCK_STATE, | | KSPROPERTY_CLOCK_STATE, |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| KSPROPERTY_CLOCK_FUNCTIONTABLE | | KSPROPERTY_CLOCK_FUNCTIONTABLE |
| #endif // defined(_NTDDK_) | | #endif // defined(_NTDDK_) |
| } KSPROPERTY_CLOCK; | | } KSPROPERTY_CLOCK; |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| LONGLONG | | LONGLONG |
| (FASTCALL *PFNKSCLOCK_GETTIME)( | | (FASTCALL *PFNKSCLOCK_GETTIME)( |
|
| IN PFILE_OBJECT FileObject | | __in PFILE_OBJECT FileObject |
| ); | | ); |
|
| | |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| LONGLONG | | LONGLONG |
| (FASTCALL *PFNKSCLOCK_CORRELATEDTIME)( | | (FASTCALL *PFNKSCLOCK_CORRELATEDTIME)( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| OUT PLONGLONG SystemTime); | | __out PLONGLONG SystemTime); |
| | |
| typedef struct { | | typedef struct { |
| PFNKSCLOCK_GETTIME GetTime; | | PFNKSCLOCK_GETTIME GetTime; |
| PFNKSCLOCK_GETTIME GetPhysicalTime; | | PFNKSCLOCK_GETTIME GetPhysicalTime; |
| PFNKSCLOCK_CORRELATEDTIME GetCorrelatedTime; | | PFNKSCLOCK_CORRELATEDTIME GetCorrelatedTime; |
| PFNKSCLOCK_CORRELATEDTIME GetCorrelatedPhysicalTime; | | PFNKSCLOCK_CORRELATEDTIME GetCorrelatedPhysicalTime; |
| } KSCLOCK_FUNCTIONTABLE, *PKSCLOCK_FUNCTIONTABLE; | | } KSCLOCK_FUNCTIONTABLE, *PKSCLOCK_FUNCTIONTABLE; |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINXP) | | #if (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSSETTIMER)( | | (*PFNKSSETTIMER)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PKTIMER Timer, | | __in PKTIMER Timer, |
| IN LARGE_INTEGER DueTime, | | __in LARGE_INTEGER DueTime, |
| IN PKDPC Dpc | | __in PKDPC Dpc |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSCANCELTIMER)( | | (*PFNKSCANCELTIMER)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PKTIMER Timer | | __in PKTIMER Timer |
| ); | | ); |
| | |
| typedef | | typedef |
| LONGLONG | | LONGLONG |
| (FASTCALL *PFNKSCORRELATEDTIME)( | | (FASTCALL *PFNKSCORRELATEDTIME)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| OUT PLONGLONG SystemTime); | | __out PLONGLONG SystemTime); |
| | |
| #endif // (NTDDI_VERSION >= NTDDI_WINXP) | | #endif // (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
| typedef PVOID PKSDEFAULTCLOCK; | | typedef PVOID PKSDEFAULTCLOCK; |
| | |
| #define DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(Handler)\ | | #define DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(Handler)\ |
| DEFINE_KSPROPERTY_ITEM(\ | | DEFINE_KSPROPERTY_ITEM(\ |
| KSPROPERTY_CLOCK_TIME,\ | | KSPROPERTY_CLOCK_TIME,\ |
| (Handler),\ | | (Handler),\ |
| sizeof(KSPROPERTY),\ | | sizeof(KSPROPERTY),\ |
| | |
| skipping to change at line 2279 | | skipping to change at line 2370 |
| #define KSPROBE_STREAMWRITEMODIFY (KSPROBE_MODIFY | KSPROBE_STREAMWRITE) | | #define KSPROBE_STREAMWRITEMODIFY (KSPROBE_MODIFY | KSPROBE_STREAMWRITE) |
| #define KSPROBE_ALLOWFORMATCHANGE 0x00000080 | | #define KSPROBE_ALLOWFORMATCHANGE 0x00000080 |
| | |
| #define KSSTREAM_READ KSPROBE_STREAMREAD | | #define KSSTREAM_READ KSPROBE_STREAMREAD |
| #define KSSTREAM_WRITE KSPROBE_STREAMWRITE | | #define KSSTREAM_WRITE KSPROBE_STREAMWRITE |
| #define KSSTREAM_PAGED_DATA 0x00000000 | | #define KSSTREAM_PAGED_DATA 0x00000000 |
| #define KSSTREAM_NONPAGED_DATA 0x00000100 | | #define KSSTREAM_NONPAGED_DATA 0x00000100 |
| #define KSSTREAM_SYNCHRONOUS 0x00001000 | | #define KSSTREAM_SYNCHRONOUS 0x00001000 |
| #define KSSTREAM_FAILUREEXCEPTION 0x00002000 | | #define KSSTREAM_FAILUREEXCEPTION 0x00002000 |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSCONTEXT_DISPATCH)( | | (*PFNKSCONTEXT_DISPATCH)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSHANDLER)( | | (*PFNKSHANDLER)( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSIDENTIFIER Request, | | __in PKSIDENTIFIER Request, |
| IN OUT PVOID Data | | __inout PVOID Data |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSFASTHANDLER)( | | (*PFNKSFASTHANDLER)( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKSIDENTIFIER Request, | | __in_bcount(RequestLength) PKSIDENTIFIER Request, |
| IN ULONG RequestLength, | | __in ULONG RequestLength, |
| IN OUT PVOID Data, | | __inout_bcount(DataLength) PVOID Data, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT PIO_STATUS_BLOCK IoStatus | | __out PIO_STATUS_BLOCK IoStatus |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSALLOCATOR)( | | (*PFNKSALLOCATOR)( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG BufferSize, | | __in ULONG BufferSize, |
| IN BOOLEAN InputOperation | | __in BOOLEAN InputOperation |
| ); | | ); |
| | |
| typedef struct { | | typedef struct { |
| KSPROPERTY_MEMBERSHEADER MembersHeader; | | KSPROPERTY_MEMBERSHEADER MembersHeader; |
| const VOID* Members; | | const VOID* Members; |
| } KSPROPERTY_MEMBERSLIST, *PKSPROPERTY_MEMBERSLIST; | | } KSPROPERTY_MEMBERSLIST, *PKSPROPERTY_MEMBERSLIST; |
| | |
| typedef struct { | | typedef struct { |
| KSIDENTIFIER PropTypeSet; | | KSIDENTIFIER PropTypeSet; |
| ULONG MembersListCount; | | ULONG MembersListCount; |
|
| | __field_ecount(MembersListCount) |
| const KSPROPERTY_MEMBERSLIST* MembersList; | | const KSPROPERTY_MEMBERSLIST* MembersList; |
| } KSPROPERTY_VALUES, *PKSPROPERTY_VALUES; | | } KSPROPERTY_VALUES, *PKSPROPERTY_VALUES; |
| | |
| #define DEFINE_KSPROPERTY_TABLE(tablename)\ | | #define DEFINE_KSPROPERTY_TABLE(tablename)\ |
| const KSPROPERTY_ITEM tablename[] = | | const KSPROPERTY_ITEM tablename[] = |
| | |
| #define DEFINE_KSPROPERTY_ITEM(PropertyId, GetHandler,\ | | #define DEFINE_KSPROPERTY_ITEM(PropertyId, GetHandler,\ |
| MinProperty,\ | | MinProperty,\ |
| MinData,\ | | MinData,\ |
| SetHandler,\ | | SetHandler,\ |
| | |
| skipping to change at line 2354 | | skipping to change at line 2450 |
| BOOLEAN GetSupported; | | BOOLEAN GetSupported; |
| }; | | }; |
| ULONG MinProperty; | | ULONG MinProperty; |
| ULONG MinData; | | ULONG MinData; |
| union { | | union { |
| PFNKSHANDLER SetPropertyHandler; | | PFNKSHANDLER SetPropertyHandler; |
| BOOLEAN SetSupported; | | BOOLEAN SetSupported; |
| }; | | }; |
| const KSPROPERTY_VALUES*Values; | | const KSPROPERTY_VALUES*Values; |
| ULONG RelationsCount; | | ULONG RelationsCount; |
|
| | __field_ecount(RelationsCount) |
| const KSPROPERTY* Relations; | | const KSPROPERTY* Relations; |
| PFNKSHANDLER SupportHandler; | | PFNKSHANDLER SupportHandler; |
| ULONG SerializedSize; | | ULONG SerializedSize; |
| } KSPROPERTY_ITEM, *PKSPROPERTY_ITEM; | | } KSPROPERTY_ITEM, *PKSPROPERTY_ITEM; |
| | |
| #define DEFINE_KSFASTPROPERTY_ITEM(PropertyId, GetHandler, SetHandler)\ | | #define DEFINE_KSFASTPROPERTY_ITEM(PropertyId, GetHandler, SetHandler)\ |
| {\ | | {\ |
| PropertyId, (PFNKSFASTHANDLER)GetHandler, (PFNKSFASTHANDLER)SetHandler, 0\ | | PropertyId, (PFNKSFASTHANDLER)GetHandler, (PFNKSFASTHANDLER)SetHandler, 0\ |
| } | | } |
| | |
| | |
| skipping to change at line 2396 | | skipping to change at line 2493 |
| FastIoCount,\ | | FastIoCount,\ |
| FastIoTable\ | | FastIoTable\ |
| } | | } |
| | |
| #define DEFINE_KSPROPERTY_SET_TABLE(tablename)\ | | #define DEFINE_KSPROPERTY_SET_TABLE(tablename)\ |
| const KSPROPERTY_SET tablename[] = | | const KSPROPERTY_SET tablename[] = |
| | |
| typedef struct { | | typedef struct { |
| const GUID* Set; | | const GUID* Set; |
| ULONG PropertiesCount; | | ULONG PropertiesCount; |
|
| | __field_ecount(PropertiesCount) |
| const KSPROPERTY_ITEM* PropertyItem; | | const KSPROPERTY_ITEM* PropertyItem; |
| ULONG FastIoCount; | | ULONG FastIoCount; |
| const KSFASTPROPERTY_ITEM* FastIoTable; | | const KSFASTPROPERTY_ITEM* FastIoTable; |
| } KSPROPERTY_SET, *PKSPROPERTY_SET; | | } KSPROPERTY_SET, *PKSPROPERTY_SET; |
| | |
| #define DEFINE_KSMETHOD_TABLE(tablename)\ | | #define DEFINE_KSMETHOD_TABLE(tablename)\ |
| const KSMETHOD_ITEM tablename[] = | | const KSMETHOD_ITEM tablename[] = |
| | |
| #define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\ | | #define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\ |
| MethodHandler,\ | | MethodHandler,\ |
| | |
| skipping to change at line 2456 | | skipping to change at line 2554 |
| FastIoCount,\ | | FastIoCount,\ |
| FastIoTable\ | | FastIoTable\ |
| } | | } |
| | |
| #define DEFINE_KSMETHOD_SET_TABLE(tablename)\ | | #define DEFINE_KSMETHOD_SET_TABLE(tablename)\ |
| const KSMETHOD_SET tablename[] = | | const KSMETHOD_SET tablename[] = |
| | |
| typedef struct { | | typedef struct { |
| const GUID* Set; | | const GUID* Set; |
| ULONG MethodsCount; | | ULONG MethodsCount; |
|
| | __field_ecount(MethodsCount) |
| const KSMETHOD_ITEM* MethodItem; | | const KSMETHOD_ITEM* MethodItem; |
| ULONG FastIoCount; | | ULONG FastIoCount; |
|
| const KSFASTMETHOD_ITEM*FastIoTable; | | __field_ecount(FastIoCount) const KSFASTMETHOD_ITEM*FastIoTable; |
| } KSMETHOD_SET, *PKSMETHOD_SET; | | } KSMETHOD_SET, *PKSMETHOD_SET; |
| | |
| typedef struct _KSEVENT_ENTRY | | typedef struct _KSEVENT_ENTRY |
| KSEVENT_ENTRY, *PKSEVENT_ENTRY; | | KSEVENT_ENTRY, *PKSEVENT_ENTRY; |
| | |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSADDEVENT)( | | (*PFNKSADDEVENT)( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSEVENTDATA EventData, | | __in PKSEVENTDATA EventData, |
| IN struct _KSEVENT_ENTRY* EventEntry | | __in struct _KSEVENT_ENTRY* EventEntry |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNKSREMOVEEVENT)( | | (*PFNKSREMOVEEVENT)( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN struct _KSEVENT_ENTRY* EventEntry | | __in struct _KSEVENT_ENTRY* EventEntry |
| ); | | ); |
| | |
| #define DEFINE_KSEVENT_TABLE(tablename)\ | | #define DEFINE_KSEVENT_TABLE(tablename)\ |
| const KSEVENT_ITEM tablename[] = | | const KSEVENT_ITEM tablename[] = |
| | |
| #define DEFINE_KSEVENT_ITEM(EventId, DataInput, ExtraEntryData,\ | | #define DEFINE_KSEVENT_ITEM(EventId, DataInput, ExtraEntryData,\ |
| AddHandler, RemoveHandler, SupportHandler)\ | | AddHandler, RemoveHandler, SupportHandler)\ |
| {\ | | {\ |
| EventId,\ | | EventId,\ |
| DataInput,\ | | DataInput,\ |
| | |
| skipping to change at line 2515 | | skipping to change at line 2614 |
| {\ | | {\ |
| Set, EventsCount, EventItem\ | | Set, EventsCount, EventItem\ |
| } | | } |
| | |
| #define DEFINE_KSEVENT_SET_TABLE(tablename)\ | | #define DEFINE_KSEVENT_SET_TABLE(tablename)\ |
| const KSEVENT_SET tablename[] = | | const KSEVENT_SET tablename[] = |
| | |
| typedef struct { | | typedef struct { |
| const GUID* Set; | | const GUID* Set; |
| ULONG EventsCount; | | ULONG EventsCount; |
|
| const KSEVENT_ITEM* EventItem; | | __field_ecount(EventsCount) const KSEVENT_ITEM* EventItem; |
| } KSEVENT_SET, *PKSEVENT_SET; | | } KSEVENT_SET, *PKSEVENT_SET; |
| | |
| typedef struct { | | typedef struct { |
| KDPC Dpc; | | KDPC Dpc; |
| ULONG ReferenceCount; | | ULONG ReferenceCount; |
| KSPIN_LOCK AccessLock; | | KSPIN_LOCK AccessLock; |
| } KSDPC_ITEM, *PKSDPC_ITEM; | | } KSDPC_ITEM, *PKSDPC_ITEM; |
| | |
| typedef struct { | | typedef struct { |
| KSDPC_ITEM DpcItem; | | KSDPC_ITEM DpcItem; |
| | |
| skipping to change at line 2573 | | skipping to change at line 2672 |
| PDRIVER_DISPATCH Create; | | PDRIVER_DISPATCH Create; |
| PVOID Context; | | PVOID Context; |
| UNICODE_STRING ObjectClass; | | UNICODE_STRING ObjectClass; |
| PSECURITY_DESCRIPTOR SecurityDescriptor; | | PSECURITY_DESCRIPTOR SecurityDescriptor; |
| ULONG Flags; | | ULONG Flags; |
| } KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM; | | } KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM; |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNKSITEMFREECALLBACK)( | | (*PFNKSITEMFREECALLBACK)( |
|
| IN PKSOBJECT_CREATE_ITEM CreateItem | | __in PKSOBJECT_CREATE_ITEM CreateItem |
| ); | | ); |
| | |
| #define KSCREATE_ITEM_SECURITYCHANGED 0x00000001 | | #define KSCREATE_ITEM_SECURITYCHANGED 0x00000001 |
| #define KSCREATE_ITEM_WILDCARD 0x00000002 | | #define KSCREATE_ITEM_WILDCARD 0x00000002 |
| #define KSCREATE_ITEM_NOPARAMETERS 0x00000004 | | #define KSCREATE_ITEM_NOPARAMETERS 0x00000004 |
| #define KSCREATE_ITEM_FREEONSTOP 0x00000008 | | #define KSCREATE_ITEM_FREEONSTOP 0x00000008 |
| | |
| #define DEFINE_KSCREATE_DISPATCH_TABLE( tablename )\ | | #define DEFINE_KSCREATE_DISPATCH_TABLE( tablename )\ |
| KSOBJECT_CREATE_ITEM tablename[] = | | KSOBJECT_CREATE_ITEM tablename[] = |
| | |
| | |
| skipping to change at line 2622 | | skipping to change at line 2721 |
| {\ | | {\ |
| 0,\ | | 0,\ |
| 0,\ | | 0,\ |
| NULL,\ | | NULL,\ |
| },\ | | },\ |
| NULL, 0\ | | NULL, 0\ |
| } | | } |
| | |
| typedef struct { | | typedef struct { |
| ULONG CreateItemsCount; | | ULONG CreateItemsCount; |
|
| PKSOBJECT_CREATE_ITEM CreateItemsList; | | __field_ecount(CreateItemsCount) PKSOBJECT_CREATE_ITEM CreateItemsList; |
| } KSOBJECT_CREATE, *PKSOBJECT_CREATE; | | } KSOBJECT_CREATE, *PKSOBJECT_CREATE; |
| | |
| typedef struct { | | typedef struct { |
| PDRIVER_DISPATCH DeviceIoControl; | | PDRIVER_DISPATCH DeviceIoControl; |
| PDRIVER_DISPATCH Read; | | PDRIVER_DISPATCH Read; |
| PDRIVER_DISPATCH Write; | | PDRIVER_DISPATCH Write; |
| PDRIVER_DISPATCH Flush; | | PDRIVER_DISPATCH Flush; |
| PDRIVER_DISPATCH Close; | | PDRIVER_DISPATCH Close; |
| PDRIVER_DISPATCH QuerySecurity; | | PDRIVER_DISPATCH QuerySecurity; |
| PDRIVER_DISPATCH SetSecurity; | | PDRIVER_DISPATCH SetSecurity; |
| | |
| skipping to change at line 2698 | | skipping to change at line 2797 |
| KsStackCopyToNewLocation, | | KsStackCopyToNewLocation, |
| KsStackReuseCurrentLocation, | | KsStackReuseCurrentLocation, |
| KsStackUseNewLocation | | KsStackUseNewLocation |
| } KSSTACK_USE; | | } KSSTACK_USE; |
| | |
| typedef enum { | | typedef enum { |
| KSTARGET_STATE_DISABLED, | | KSTARGET_STATE_DISABLED, |
| KSTARGET_STATE_ENABLED | | KSTARGET_STATE_ENABLED |
| } KSTARGET_STATE; | | } KSTARGET_STATE; |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSIRPLISTCALLBACK)( | | (*PFNKSIRPLISTCALLBACK)( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNREFERENCEDEVICEOBJECT)( | | (*PFNREFERENCEDEVICEOBJECT)( |
|
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNDEREFERENCEDEVICEOBJECT)( | | (*PFNDEREFERENCEDEVICEOBJECT)( |
|
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNQUERYREFERENCESTRING)( | | (*PFNQUERYREFERENCESTRING)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN OUT PWCHAR *String | | __inout PWCHAR *String |
| ); | | ); |
| | |
| #define BUS_INTERFACE_REFERENCE_VERSION 0x100 | | #define BUS_INTERFACE_REFERENCE_VERSION 0x100 |
| | |
| typedef struct { | | typedef struct { |
| // | | // |
| // Standard interface header | | // Standard interface header |
| // | | // |
| | |
| INTERFACE Interface; | | INTERFACE Interface; |
| | |
| skipping to change at line 2746 | | skipping to change at line 2849 |
| | |
| PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject; | | PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject; |
| PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject; | | PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject; |
| PFNQUERYREFERENCESTRING QueryReferenceString; | | PFNQUERYREFERENCESTRING QueryReferenceString; |
| | |
| } BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE; | | } BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE; |
| | |
| #define STATIC_REFERENCE_BUS_INTERFACE STATIC_KSMEDIUMSETID_Standard | | #define STATIC_REFERENCE_BUS_INTERFACE STATIC_KSMEDIUMSETID_Standard |
| #define REFERENCE_BUS_INTERFACE KSMEDIUMSETID_Standard | | #define REFERENCE_BUS_INTERFACE KSMEDIUMSETID_Standard |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNQUERYMEDIUMSLIST)( | | (*PFNQUERYMEDIUMSLIST)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| OUT ULONG* MediumsCount, | | __out ULONG* MediumsCount, |
| OUT PKSPIN_MEDIUM* MediumList | | __out_ecount(MediumsCount) PKSPIN_MEDIUM* MediumList |
| ); | | ); |
| | |
| typedef struct { | | typedef struct { |
| // | | // |
| // Standard interface header | | // Standard interface header |
| // | | // |
| | |
| INTERFACE Interface; | | INTERFACE Interface; |
| | |
| // | | // |
| | |
| skipping to change at line 2817 | | skipping to change at line 2921 |
| typedef struct _KSGATE | | typedef struct _KSGATE |
| KSGATE, *PKSGATE; | | KSGATE, *PKSGATE; |
| | |
| struct _KSGATE { | | struct _KSGATE { |
| LONG Count; | | LONG Count; |
| PKSGATE NextGate; | | PKSGATE NextGate; |
| }; | | }; |
| | |
| #ifndef _NTOS_ | | #ifndef _NTOS_ |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTurnInputOn( | | KsGateTurnInputOn( |
|
| IN PKSGATE Gate OPTIONAL | | __in_opt PKSGATE Gate |
| ) | | ) |
| { | | { |
| while (Gate && (InterlockedIncrement(&Gate->Count) == 1)) { | | while (Gate && (InterlockedIncrement(&Gate->Count) == 1)) { |
| Gate = Gate->NextGate; | | Gate = Gate->NextGate; |
| } | | } |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTurnInputOff( | | KsGateTurnInputOff( |
|
| IN PKSGATE Gate OPTIONAL | | __in_opt PKSGATE Gate |
| ) | | ) |
| { | | { |
| while (Gate && (InterlockedDecrement(&Gate->Count) == 0)) { | | while (Gate && (InterlockedDecrement(&Gate->Count) == 0)) { |
| Gate = Gate->NextGate; | | Gate = Gate->NextGate; |
| } | | } |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| BOOLEAN __inline | | BOOLEAN __inline |
| KsGateGetStateUnsafe( | | KsGateGetStateUnsafe( |
|
| IN PKSGATE Gate | | __in PKSGATE Gate |
| ) | | ) |
| { | | { |
| ASSERT(Gate); | | ASSERT(Gate); |
| return((BOOLEAN)(Gate->Count > 0)); | | return((BOOLEAN)(Gate->Count > 0)); |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| BOOLEAN __inline | | BOOLEAN __inline |
| KsGateCaptureThreshold( | | KsGateCaptureThreshold( |
|
| IN PKSGATE Gate | | __in PKSGATE Gate |
| ) | | ) |
| { | | { |
| BOOLEAN captured; | | BOOLEAN captured; |
| | |
| ASSERT(Gate); | | ASSERT(Gate); |
| | |
| captured = (BOOLEAN)(InterlockedCompareExchange(&Gate->Count,0,1) == 1); | | captured = (BOOLEAN)(InterlockedCompareExchange(&Gate->Count,0,1) == 1); |
| | |
| // | | // |
| // If we made a transition, it must be propagated. | | // If we made a transition, it must be propagated. |
| | |
| skipping to change at line 2871 | | skipping to change at line 2979 |
| KsGateTurnInputOff(Gate->NextGate); | | KsGateTurnInputOff(Gate->NextGate); |
| } | | } |
| | |
| // | | // |
| // We return whatever the state was prior to the compare/exchange. If | | // We return whatever the state was prior to the compare/exchange. If |
| // the state was on, the state is now off. | | // the state was on, the state is now off. |
| // | | // |
| return captured; | | return captured; |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitialize( | | KsGateInitialize( |
|
| IN PKSGATE Gate, | | __in PKSGATE Gate, |
| IN LONG InitialCount, | | __in LONG InitialCount, |
| IN PKSGATE NextGate OPTIONAL, | | __in_opt PKSGATE NextGate, |
| IN BOOLEAN StateToPropagate // IN BOOLEAN NextGateIsAnOrGate | | __in BOOLEAN StateToPropagate // __in BOOLEAN NextGateIsAnOrGate |
| ) | | ) |
| { | | { |
| ASSERT(Gate); | | ASSERT(Gate); |
| Gate->Count = InitialCount; | | Gate->Count = InitialCount; |
| Gate->NextGate = NextGate; | | Gate->NextGate = NextGate; |
| | |
| if (NextGate) { | | if (NextGate) { |
| if (InitialCount > 0) { | | if (InitialCount > 0) { |
| if (StateToPropagate) { | | if (StateToPropagate) { |
| KsGateTurnInputOn(NextGate); | | KsGateTurnInputOn(NextGate); |
| } | | } |
| } else { | | } else { |
| if (! StateToPropagate) { | | if (! StateToPropagate) { |
| KsGateTurnInputOff(NextGate); | | KsGateTurnInputOff(NextGate); |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitializeAnd( | | KsGateInitializeAnd( |
|
| IN PKSGATE AndGate, | | __in PKSGATE AndGate, |
| IN PKSGATE NextOrGate OPTIONAL | | __in_opt PKSGATE NextOrGate |
| ) | | ) |
| { | | { |
| KsGateInitialize(AndGate,1,NextOrGate,TRUE); | | KsGateInitialize(AndGate,1,NextOrGate,TRUE); |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitializeOr( | | KsGateInitializeOr( |
|
| IN PKSGATE OrGate, | | __in PKSGATE OrGate, |
| IN PKSGATE NextAndGate OPTIONAL | | __in_opt PKSGATE NextAndGate |
| ) | | ) |
| { | | { |
| KsGateInitialize(OrGate,0,NextAndGate,FALSE); | | KsGateInitialize(OrGate,0,NextAndGate,FALSE); |
| } | | } |
| | |
|
| void __inline KsGateAddOnInputToAnd(IN PKSGATE AndGate) { UNREFERENCED_PARAMETER | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOnInputToAnd(__in PKSGATE AndGa |
| (AndGate); } | | te) { UNREFERENCED_PARAMETER (AndGate); } |
| void __inline KsGateAddOffInputToAnd(IN PKSGATE AndGate) { KsGateTurnInputOff(An | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOffInputToAnd(__in PKSGATE AndG |
| dGate); } | | ate) { KsGateTurnInputOff(AndGate); } |
| void __inline KsGateRemoveOnInputFromAnd(IN PKSGATE AndGate) { UNREFERENCED_PARA | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromAnd(__in PKSGATE |
| METER (AndGate); } | | AndGate) { UNREFERENCED_PARAMETER (AndGate); } |
| void __inline KsGateRemoveOffInputFromAnd(IN PKSGATE AndGate) { KsGateTurnInputO | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromAnd(__in PKSGATE |
| n(AndGate); } | | AndGate) { KsGateTurnInputOn(AndGate); } |
| | |
|
| void __inline KsGateAddOnInputToOr(IN PKSGATE OrGate) { KsGateTurnInputOn(OrGate | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOnInputToOr(__in PKSGATE OrGate |
| ); } | | ) { KsGateTurnInputOn(OrGate); } |
| void __inline KsGateAddOffInputToOr(IN PKSGATE OrGate) { UNREFERENCED_PARAMETER | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOffInputToOr(__in PKSGATE OrGat |
| (OrGate); } | | e) { UNREFERENCED_PARAMETER (OrGate); } |
| void __inline KsGateRemoveOnInputFromOr(IN PKSGATE OrGate) { KsGateTurnInputOff( | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromOr(__in PKSGATE O |
| OrGate); } | | rGate) { KsGateTurnInputOff(OrGate); } |
| void __inline KsGateRemoveOffInputFromOr(IN PKSGATE OrGate) { UNREFERENCED_PARAM | | __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromOr(__in PKSGATE |
| ETER (OrGate); } | | OrGate) { UNREFERENCED_PARAMETER (OrGate); } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTerminateAnd( | | KsGateTerminateAnd( |
|
| IN PKSGATE AndGate | | __in PKSGATE AndGate |
| ) | | ) |
| { | | { |
| ASSERT(AndGate); | | ASSERT(AndGate); |
| if (KsGateGetStateUnsafe(AndGate)) { | | if (KsGateGetStateUnsafe(AndGate)) { |
| KsGateRemoveOnInputFromOr(AndGate->NextGate); | | KsGateRemoveOnInputFromOr(AndGate->NextGate); |
| } else { | | } else { |
| KsGateRemoveOffInputFromOr(AndGate->NextGate); | | KsGateRemoveOffInputFromOr(AndGate->NextGate); |
| } | | } |
| } | | } |
| | |
|
| | __drv_maxIRQL(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTerminateOr( | | KsGateTerminateOr( |
|
| IN PKSGATE OrGate | | __in PKSGATE OrGate |
| ) | | ) |
| { | | { |
| ASSERT(OrGate); | | ASSERT(OrGate); |
| if (KsGateGetStateUnsafe(OrGate)) { | | if (KsGateGetStateUnsafe(OrGate)) { |
| KsGateRemoveOnInputFromAnd(OrGate->NextGate); | | KsGateRemoveOnInputFromAnd(OrGate->NextGate); |
| } else { | | } else { |
| KsGateRemoveOffInputFromAnd(OrGate->NextGate); | | KsGateRemoveOffInputFromAnd(OrGate->NextGate); |
| } | | } |
| } | | } |
| | |
| #endif // !_NTOS_ | | #endif // !_NTOS_ |
| | |
| typedef PVOID KSOBJECT_BAG; | | typedef PVOID KSOBJECT_BAG; |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSGENERATEEVENTCALLBACK)( | | (*PFNKSGENERATEEVENTCALLBACK)( |
|
| IN PVOID Context, | | __in PVOID Context, |
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICECREATE)( | | (*PFNKSDEVICECREATE)( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEPNPSTART)( | | (*PFNKSDEVICEPNPSTART)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PCM_RESOURCE_LIST TranslatedResourceList OPTIONAL, | | __in_opt PCM_RESOURCE_LIST TranslatedResourceList, |
| IN PCM_RESOURCE_LIST UntranslatedResourceList OPTIONAL | | __in_opt PCM_RESOURCE_LIST UntranslatedResourceList |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICE)( | | (*PFNKSDEVICE)( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEIRP)( | | (*PFNKSDEVICEIRP)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSDEVICEIRPVOID)( | | (*PFNKSDEVICEIRPVOID)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEQUERYCAPABILITIES)( | | (*PFNKSDEVICEQUERYCAPABILITIES)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN OUT PDEVICE_CAPABILITIES Capabilities | | __inout PDEVICE_CAPABILITIES Capabilities |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEQUERYPOWER)( | | (*PFNKSDEVICEQUERYPOWER)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN DEVICE_POWER_STATE DeviceTo, | | __in DEVICE_POWER_STATE DeviceTo, |
| IN DEVICE_POWER_STATE DeviceFrom, | | __in DEVICE_POWER_STATE DeviceFrom, |
| IN SYSTEM_POWER_STATE SystemTo, | | __in SYSTEM_POWER_STATE SystemTo, |
| IN SYSTEM_POWER_STATE SystemFrom, | | __in SYSTEM_POWER_STATE SystemFrom, |
| IN POWER_ACTION Action | | __in POWER_ACTION Action |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSDEVICESETPOWER)( | | (*PFNKSDEVICESETPOWER)( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN DEVICE_POWER_STATE To, | | __in DEVICE_POWER_STATE To, |
| IN DEVICE_POWER_STATE From | | __in DEVICE_POWER_STATE From |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERFACTORYVOID)( | | (*PFNKSFILTERFACTORYVOID)( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSFILTERFACTORYPOWER)( | | (*PFNKSFILTERFACTORYPOWER)( |
|
| IN PKSFILTERFACTORY FilterFactory, | | __in PKSFILTERFACTORY FilterFactory, |
| IN DEVICE_POWER_STATE State | | __in DEVICE_POWER_STATE State |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERIRP)( | | (*PFNKSFILTERIRP)( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERPROCESS)( | | (*PFNKSFILTERPROCESS)( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN PKSPROCESSPIN_INDEXENTRY Index | | __in PKSPROCESSPIN_INDEXENTRY Index |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERVOID)( | | (*PFNKSFILTERVOID)( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSFILTERPOWER)( | | (*PFNKSFILTERPOWER)( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN DEVICE_POWER_STATE State | | __in DEVICE_POWER_STATE State |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINIRP)( | | (*PFNKSPINIRP)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINSETDEVICESTATE)( | | (*PFNKSPINSETDEVICESTATE)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN KSSTATE ToState, | | __in KSSTATE ToState, |
| IN KSSTATE FromState | | __in KSSTATE FromState |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINSETDATAFORMAT)( | | (*PFNKSPINSETDATAFORMAT)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSDATAFORMAT OldFormat OPTIONAL, | | __in_opt PKSDATAFORMAT OldFormat, |
| IN PKSMULTIPLE_ITEM OldAttributeList OPTIONAL, | | __in_opt PKSMULTIPLE_ITEM OldAttributeList, |
| IN const KSDATARANGE* DataRange, | | __in const KSDATARANGE* DataRange, |
| IN const KSATTRIBUTE_LIST* AttributeRange OPTIONAL | | __in_opt const KSATTRIBUTE_LIST* AttributeRange |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINHANDSHAKE)( | | (*PFNKSPINHANDSHAKE)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSHANDSHAKE In, | | __in PKSHANDSHAKE In, |
| IN PKSHANDSHAKE Out | | __in PKSHANDSHAKE Out |
| ); | | ); |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPIN)( | | (*PFNKSPIN)( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINVOID)( | | (*PFNKSPINVOID)( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINPOWER)( | | (*PFNKSPINPOWER)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN DEVICE_POWER_STATE State | | __in DEVICE_POWER_STATE State |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSPINSETTIMER)( | | (*PFNKSPINSETTIMER)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKTIMER Timer, | | __in PKTIMER Timer, |
| IN LARGE_INTEGER DueTime, | | __in LARGE_INTEGER DueTime, |
| IN PKDPC Dpc | | __in PKDPC Dpc |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSPINCANCELTIMER)( | | (*PFNKSPINCANCELTIMER)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKTIMER Timer | | __in PKTIMER Timer |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| LONGLONG | | LONGLONG |
| (FASTCALL *PFNKSPINCORRELATEDTIME)( | | (FASTCALL *PFNKSPINCORRELATEDTIME)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| OUT PLONGLONG SystemTime | | __out PLONGLONG SystemTime |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINRESOLUTION)( | | (*PFNKSPINRESOLUTION)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| OUT PKSRESOLUTION Resolution | | __out PKSRESOLUTION Resolution |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPININITIALIZEALLOCATOR)( | | (*PFNKSPININITIALIZEALLOCATOR)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSALLOCATOR_FRAMING AllocatorFraming, | | __in PKSALLOCATOR_FRAMING AllocatorFraming, |
| OUT PVOID* Context | | __out PVOID* Context |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSSTREAMPOINTER)( | | (*PFNKSSTREAMPOINTER)( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
| typedef struct KSAUTOMATION_TABLE_ | | typedef struct KSAUTOMATION_TABLE_ |
| KSAUTOMATION_TABLE, *PKSAUTOMATION_TABLE; | | KSAUTOMATION_TABLE, *PKSAUTOMATION_TABLE; |
| struct KSAUTOMATION_TABLE_ { | | struct KSAUTOMATION_TABLE_ { |
| ULONG PropertySetsCount; | | ULONG PropertySetsCount; |
| ULONG PropertyItemSize; | | ULONG PropertyItemSize; |
|
| const KSPROPERTY_SET* PropertySets; | | __field_bcount(PropertySetsCount * PropertyItemSize) const KSPROPERTY_SET* P
ropertySets; |
| ULONG MethodSetsCount; | | ULONG MethodSetsCount; |
| ULONG MethodItemSize; | | ULONG MethodItemSize; |
|
| const KSMETHOD_SET* MethodSets; | | __field_bcount(MethodSetsCount * MethodItemSize) const KSMETHOD_SET* MethodS
ets; |
| ULONG EventSetsCount; | | ULONG EventSetsCount; |
| ULONG EventItemSize; | | ULONG EventItemSize; |
|
| const KSEVENT_SET* EventSets; | | __field_bcount(EventSetsCount * EventItemSize) const KSEVENT_SET* EventSets; |
| #if !defined(_WIN64) | | #if !defined(_WIN64) |
| PVOID Alignment; | | PVOID Alignment; |
| #endif // !defined(_WIN64) | | #endif // !defined(_WIN64) |
| }; | | }; |
| | |
| #define DEFINE_KSAUTOMATION_TABLE(table)\ | | #define DEFINE_KSAUTOMATION_TABLE(table)\ |
| const KSAUTOMATION_TABLE table = | | const KSAUTOMATION_TABLE table = |
| | |
| #define DEFINE_KSAUTOMATION_PROPERTIES(table)\ | | #define DEFINE_KSAUTOMATION_PROPERTIES(table)\ |
| SIZEOF_ARRAY(table),\ | | SIZEOF_ARRAY(table),\ |
| | |
| skipping to change at line 3245 | | skipping to change at line 3384 |
| PFNKSDEFAULTFREE Free; | | PFNKSDEFAULTFREE Free; |
| }; | | }; |
| | |
| // | | // |
| // VERSION indicates support of the following: | | // VERSION indicates support of the following: |
| // | | // |
| // - QueryInterface dispatch of KSDEVICE_DISPATCH | | // - QueryInterface dispatch of KSDEVICE_DISPATCH |
| // | | // |
| #define KSDEVICE_DESCRIPTOR_VERSION (0x100) | | #define KSDEVICE_DESCRIPTOR_VERSION (0x100) |
| | |
|
| #if (NTDDI_VERSION >= NTDDI_LONGHORN) | | #if (NTDDI_VERSION >= NTDDI_VISTA) |
| | |
| // | | // |
| // VERSION_2 indicates support of the following: | | // VERSION_2 indicates support of the following: |
| // | | // |
| // - Flags field of KSDEVICE_DESCRIPTOR | | // - Flags field of KSDEVICE_DESCRIPTOR |
| // - Loading a VERSION_2 descriptor on earlier versions of AVStream | | // - Loading a VERSION_2 descriptor on earlier versions of AVStream |
| // will work; however, all flags will be considered to be zero. | | // will work; however, all flags will be considered to be zero. |
| // - Using an earlier version descriptor on later versions of | | // - Using an earlier version descriptor on later versions of |
| // AVStream causes no flags to be specificed. | | // AVStream causes no flags to be specificed. |
| // | | // |
| #define KSDEVICE_DESCRIPTOR_VERSION_2 (0x110) | | #define KSDEVICE_DESCRIPTOR_VERSION_2 (0x110) |
| | |
| #define MIN_DEV_VER_FOR_FLAGS (0x110) | | #define MIN_DEV_VER_FOR_FLAGS (0x110) |
| | |
|
| #endif // (NTDDI_VERSION >= NTDDI_LONGHORN) | | #endif // (NTDDI_VERSION >= NTDDI_VISTA) |
| | |
| struct _KSDEVICE_DESCRIPTOR { | | struct _KSDEVICE_DESCRIPTOR { |
| const KSDEVICE_DISPATCH* Dispatch; | | const KSDEVICE_DISPATCH* Dispatch; |
| ULONG FilterDescriptorsCount; | | ULONG FilterDescriptorsCount; |
|
| const KSFILTER_DESCRIPTOR*const* FilterDescriptors; | | __field_ecount(FilterDescriptorsCount) const KSFILTER_DESCRIPTOR*const* Filt
erDescriptors; |
| ULONG Version; // this is 0 for pre-version 100 driver | | ULONG Version; // this is 0 for pre-version 100 driver |
| | |
|
| #if (NTDDI_VERSION >= NTDDI_LONGHORN) | | #if (NTDDI_VERSION >= NTDDI_VISTA) |
| | |
| ULONG Flags; | | ULONG Flags; |
| #define KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP 0x00000001 | | #define KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP 0x00000001 |
| #define KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH 0x00000002 | | #define KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH 0x00000002 |
| | |
| #if !defined(_WIN64) | | #if !defined(_WIN64) |
| PVOID Alignment; | | PVOID Alignment; |
| #endif //!defined(_WIN64) | | #endif //!defined(_WIN64) |
| | |
|
| #endif // (NTDDI_VERSION >= NTDDI_LONGHORN) | | #endif // (NTDDI_VERSION >= NTDDI_VISTA) |
| | |
| }; | | }; |
| | |
| struct _KSFILTER_DESCRIPTOR { | | struct _KSFILTER_DESCRIPTOR { |
| const KSFILTER_DISPATCH* Dispatch; | | const KSFILTER_DISPATCH* Dispatch; |
| const KSAUTOMATION_TABLE* AutomationTable; | | const KSAUTOMATION_TABLE* AutomationTable; |
| ULONG Version; | | ULONG Version; |
| #define KSFILTER_DESCRIPTOR_VERSION ((ULONG)-1) | | #define KSFILTER_DESCRIPTOR_VERSION ((ULONG)-1) |
| ULONG Flags; | | ULONG Flags; |
| #define KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 0x00000001 | | #define KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 0x00000001 |
| #define KSFILTER_FLAG_CRITICAL_PROCESSING 0x00000002 | | #define KSFILTER_FLAG_CRITICAL_PROCESSING 0x00000002 |
| #define KSFILTER_FLAG_HYPERCRITICAL_PROCESSING 0x00000004 | | #define KSFILTER_FLAG_HYPERCRITICAL_PROCESSING 0x00000004 |
| #define KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES 0x00000008 | | #define KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES 0x00000008 |
| #if (NTDDI_VERSION >= NTDDI_WINXPSP2) | | #if (NTDDI_VERSION >= NTDDI_WINXPSP2) |
| #define KSFILTER_FLAG_DENY_USERMODE_ACCESS 0x80000000 | | #define KSFILTER_FLAG_DENY_USERMODE_ACCESS 0x80000000 |
| #endif // (NTDDI_VERSION >= NTDDI_WINXPSP2) | | #endif // (NTDDI_VERSION >= NTDDI_WINXPSP2) |
| const GUID* ReferenceGuid; | | const GUID* ReferenceGuid; |
| ULONG PinDescriptorsCount; | | ULONG PinDescriptorsCount; |
| ULONG PinDescriptorSize; | | ULONG PinDescriptorSize; |
|
| const KSPIN_DESCRIPTOR_EX* PinDescriptors; | | __field_bcount(PinDescriptorsCount * PinDescriptorSize) const KSPIN_DESCRIPT
OR_EX* PinDescriptors; |
| ULONG CategoriesCount; | | ULONG CategoriesCount; |
|
| | __field_ecount(CategoriesCount) |
| const GUID* Categories; | | const GUID* Categories; |
| ULONG NodeDescriptorsCount; | | ULONG NodeDescriptorsCount; |
| ULONG NodeDescriptorSize; | | ULONG NodeDescriptorSize; |
|
| const KSNODE_DESCRIPTOR* NodeDescriptors; | | __field_bcount(NodeDescriptorsCount * NodeDescriptorSize) const KSNODE_DESCR
IPTOR* NodeDescriptors; |
| ULONG ConnectionsCount; | | ULONG ConnectionsCount; |
|
| const KSTOPOLOGY_CONNECTION* Connections; | | __field_ecount(ConnectionsCount) const KSTOPOLOGY_CONNECTION* Connections; |
| const KSCOMPONENTID* ComponentId; | | const KSCOMPONENTID* ComponentId; |
| }; | | }; |
| | |
| #define DEFINE_KSFILTER_DESCRIPTOR(descriptor)\ | | #define DEFINE_KSFILTER_DESCRIPTOR(descriptor)\ |
| const KSFILTER_DESCRIPTOR descriptor = | | const KSFILTER_DESCRIPTOR descriptor = |
| | |
| #define DEFINE_KSFILTER_PIN_DESCRIPTORS(table)\ | | #define DEFINE_KSFILTER_PIN_DESCRIPTORS(table)\ |
| SIZEOF_ARRAY(table),\ | | SIZEOF_ARRAY(table),\ |
| sizeof(table[0]),\ | | sizeof(table[0]),\ |
| table | | table |
| | |
| skipping to change at line 3493 | | skipping to change at line 3633 |
| KSSTREAM_POINTER_OFFSET OffsetIn; | | KSSTREAM_POINTER_OFFSET OffsetIn; |
| KSSTREAM_POINTER_OFFSET OffsetOut; | | KSSTREAM_POINTER_OFFSET OffsetOut; |
| }; | | }; |
| | |
| struct _KSPROCESSPIN { | | struct _KSPROCESSPIN { |
| PKSPIN Pin; | | PKSPIN Pin; |
| PKSSTREAM_POINTER StreamPointer; | | PKSSTREAM_POINTER StreamPointer; |
| PKSPROCESSPIN InPlaceCounterpart; | | PKSPROCESSPIN InPlaceCounterpart; |
| PKSPROCESSPIN DelegateBranch; | | PKSPROCESSPIN DelegateBranch; |
| PKSPROCESSPIN CopySource; | | PKSPROCESSPIN CopySource; |
|
| PVOID Data; | | __field_bcount(BytesAvailable) PVOID Data; |
| ULONG BytesAvailable; | | ULONG BytesAvailable; |
| ULONG BytesUsed; | | ULONG BytesUsed; |
| ULONG Flags; | | ULONG Flags; |
| BOOLEAN Terminate; | | BOOLEAN Terminate; |
| }; | | }; |
| | |
| struct _KSPROCESSPIN_INDEXENTRY { | | struct _KSPROCESSPIN_INDEXENTRY { |
|
| PKSPROCESSPIN *Pins; | | __field_ecount(Count) PKSPROCESSPIN *Pins; |
| ULONG Count; | | ULONG Count; |
| }; | | }; |
| | |
| typedef enum { | | typedef enum { |
| KsObjectTypeDevice, | | KsObjectTypeDevice, |
| KsObjectTypeFilterFactory, | | KsObjectTypeFilterFactory, |
| KsObjectTypeFilter, | | KsObjectTypeFilter, |
| KsObjectTypePin | | KsObjectTypePin |
| } KSOBJECTTYPE; | | } KSOBJECTTYPE; |
| | |
| typedef | | typedef |
| void | | void |
| (*PFNKSFREE)( | | (*PFNKSFREE)( |
|
| IN PVOID Data | | __in PVOID Data |
| ); | | ); |
| | |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINFRAMERETURN)( | | (*PFNKSPINFRAMERETURN)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PVOID Data OPTIONAL, | | __in_bcount_opt(Size) PVOID Data, |
| IN ULONG Size OPTIONAL, | | __in ULONG Size OPTIONAL, |
| IN PMDL Mdl OPTIONAL, | | __in_opt PMDL Mdl, |
| IN PVOID Context OPTIONAL, | | __in_opt PVOID Context, |
| IN NTSTATUS Status | | __in NTSTATUS Status |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINIRPCOMPLETION)( | | (*PFNKSPINIRPCOMPLETION)( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
| #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| #if !defined(_IKsControl_) | | #if !defined(_IKsControl_) |
| #define _IKsControl_ | | #define _IKsControl_ |
| | |
| typedef interface IKsControl* PIKSCONTROL; | | typedef interface IKsControl* PIKSCONTROL; |
| | |
| #if !defined(DEFINE_ABSTRACT_UNKNOWN) | | #if !defined(DEFINE_ABSTRACT_UNKNOWN) |
| | |
| #define DEFINE_ABSTRACT_UNKNOWN() \ | | #define DEFINE_ABSTRACT_UNKNOWN() \ |
| STDMETHOD_(NTSTATUS, QueryInterface)(THIS_ \ | | STDMETHOD_(NTSTATUS, QueryInterface)(THIS_ \ |
|
| REFIID InterfaceId, \ | | __in REFIID InterfaceId, \ |
| PVOID* Interface \ | | __deref_out PVOID* Interface \ |
| ) PURE; \ | | ) PURE; \ |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ |
| STDMETHOD_(ULONG,Release)(THIS) PURE; | | STDMETHOD_(ULONG,Release)(THIS) PURE; |
| | |
| #endif //!defined(DEFINE_ABSTRACT_UNKNOWN) | | #endif //!defined(DEFINE_ABSTRACT_UNKNOWN) |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IKsControl | | #define INTERFACE IKsControl |
| DECLARE_INTERFACE_(IKsControl,IUnknown) | | DECLARE_INTERFACE_(IKsControl,IUnknown) |
| { | | { |
| DEFINE_ABSTRACT_UNKNOWN() // For C | | DEFINE_ABSTRACT_UNKNOWN() // For C |
| | |
| STDMETHOD_(NTSTATUS, KsProperty)(THIS_ | | STDMETHOD_(NTSTATUS, KsProperty)(THIS_ |
|
| IN PKSPROPERTY Property, | | __in_bcount(PropertyLength) PKSPROPERTY Property, |
| IN ULONG PropertyLength, | | __in ULONG PropertyLength, |
| IN OUT PVOID PropertyData, | | __inout_bcount(DataLength) PVOID PropertyData, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT ULONG* BytesReturned | | __out ULONG* BytesReturned |
| ) PURE; | | ) PURE; |
| STDMETHOD_(NTSTATUS, KsMethod)(THIS_ | | STDMETHOD_(NTSTATUS, KsMethod)(THIS_ |
|
| IN PKSMETHOD Method, | | __in_bcount(MethodLength) PKSMETHOD Method, |
| IN ULONG MethodLength, | | __in ULONG MethodLength, |
| IN OUT PVOID MethodData, | | __inout_bcount(DataLength) PVOID MethodData, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT ULONG* BytesReturned | | __out ULONG* BytesReturned |
| ) PURE; | | ) PURE; |
| STDMETHOD_(NTSTATUS, KsEvent)(THIS_ | | STDMETHOD_(NTSTATUS, KsEvent)(THIS_ |
|
| IN PKSEVENT Event OPTIONAL, | | __in_bcount_opt(EventLength) PKSEVENT Event, |
| IN ULONG EventLength, | | __in ULONG EventLength, |
| IN OUT PVOID EventData, | | __inout_bcount(DataLength) PVOID EventData, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT ULONG* BytesReturned | | __out ULONG* BytesReturned |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
| typedef interface IKsReferenceClock* PIKSREFERENCECLOCK; | | typedef interface IKsReferenceClock* PIKSREFERENCECLOCK; |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IKsReferenceClock | | #define INTERFACE IKsReferenceClock |
| DECLARE_INTERFACE_(IKsReferenceClock,IUnknown) | | DECLARE_INTERFACE_(IKsReferenceClock,IUnknown) |
| { | | { |
| DEFINE_ABSTRACT_UNKNOWN() // For C | | DEFINE_ABSTRACT_UNKNOWN() // For C |
| | |
| STDMETHOD_(LONGLONG,GetTime)(THIS | | STDMETHOD_(LONGLONG,GetTime)(THIS |
| ) PURE; | | ) PURE; |
| STDMETHOD_(LONGLONG,GetPhysicalTime)(THIS | | STDMETHOD_(LONGLONG,GetPhysicalTime)(THIS |
| ) PURE; | | ) PURE; |
| STDMETHOD_(LONGLONG,GetCorrelatedTime)(THIS_ | | STDMETHOD_(LONGLONG,GetCorrelatedTime)(THIS_ |
|
| OUT PLONGLONG SystemTime | | __out PLONGLONG SystemTime |
| ) PURE; | | ) PURE; |
| STDMETHOD_(LONGLONG,GetCorrelatedPhysicalTime)(THIS_ | | STDMETHOD_(LONGLONG,GetCorrelatedPhysicalTime)(THIS_ |
|
| OUT PLONGLONG SystemTime | | __out PLONGLONG SystemTime |
| ) PURE; | | ) PURE; |
| STDMETHOD_(NTSTATUS, GetResolution)(THIS_ | | STDMETHOD_(NTSTATUS, GetResolution)(THIS_ |
|
| OUT PKSRESOLUTION Resolution | | __out PKSRESOLUTION Resolution |
| ) PURE; | | ) PURE; |
| STDMETHOD_(NTSTATUS, GetState)(THIS_ | | STDMETHOD_(NTSTATUS, GetState)(THIS_ |
|
| OUT PKSSTATE State | | __out PKSSTATE State |
| ) PURE; | | ) PURE; |
| }; | | }; |
| #undef INTERFACE | | #undef INTERFACE |
| | |
| #if (NTDDI_VERSION >= NTDDI_WS03SP1) | | #if (NTDDI_VERSION >= NTDDI_WS03SP1) |
| | |
| #define INTERFACE IKsDeviceFunctions | | #define INTERFACE IKsDeviceFunctions |
| DECLARE_INTERFACE_(IKsDeviceFunctions, IUnknown) | | DECLARE_INTERFACE_(IKsDeviceFunctions, IUnknown) |
| { | | { |
| DEFINE_ABSTRACT_UNKNOWN() // For C | | DEFINE_ABSTRACT_UNKNOWN() // For C |
| | |
| STDMETHOD_(NTSTATUS, RegisterAdapterObjectEx)(THIS_ | | STDMETHOD_(NTSTATUS, RegisterAdapterObjectEx)(THIS_ |
|
| IN PADAPTER_OBJECT AdapterObject, | | __in PADAPTER_OBJECT AdapterObject, |
| IN PDEVICE_DESCRIPTION DeviceDescription, | | __in PDEVICE_DESCRIPTION DeviceDescription, |
| IN ULONG NumberOfMapRegisters, | | __in ULONG NumberOfMapRegisters, |
| IN ULONG MaxMappingsByteCount, | | __in ULONG MaxMappingsByteCount, |
| IN ULONG MappingTableStride | | __in ULONG MappingTableStride |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| | |
| #endif // (NTDDI_VERSION >= NTDDI_WS03SP1) | | #endif // (NTDDI_VERSION >= NTDDI_WS03SP1) |
| | |
| #define STATIC_IID_IKsControl \ | | #define STATIC_IID_IKsControl \ |
| 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUID(IID_IKsControl, | | DEFINE_GUID(IID_IKsControl, |
| | |
| skipping to change at line 3683 | | skipping to change at line 3824 |
| // | | // |
| | |
| #ifdef _KSDDK_ | | #ifdef _KSDDK_ |
| #define KSDDKAPI | | #define KSDDKAPI |
| #else // !_KSDDK_ | | #else // !_KSDDK_ |
| #define KSDDKAPI DECLSPEC_IMPORT | | #define KSDDKAPI DECLSPEC_IMPORT |
| #endif // _KSDDK_ | | #endif // _KSDDK_ |
| | |
| #if defined(_NTDDK_) | | #if defined(_NTDDK_) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsEnableEvent( | | KsEnableEvent( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG EventSetsCount, | | __in ULONG EventSetsCount, |
| IN const KSEVENT_SET* EventSet, | | __in_ecount(EventSetsCount) const KSEVENT_SET* EventSet, |
| IN OUT PLIST_ENTRY EventsList OPTIONAL, | | __inout_opt PLIST_ENTRY EventsList, |
| IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, | | __in_opt KSEVENTS_LOCKTYPE EventsFlags, |
| IN PVOID EventsLock OPTIONAL | | __in_opt PVOID EventsLock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsEnableEventWithAllocator( | | KsEnableEventWithAllocator( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG EventSetsCount, | | __in ULONG EventSetsCount, |
| IN const KSEVENT_SET* EventSet, | | __in_ecount(EventSetsCount) const KSEVENT_SET* EventSet, |
| IN OUT PLIST_ENTRY EventsList OPTIONAL, | | __inout_opt PLIST_ENTRY EventsList, |
| IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, | | __in KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, |
| IN PVOID EventsLock OPTIONAL, | | __in_opt PVOID EventsLock, |
| IN PFNKSALLOCATOR Allocator OPTIONAL, | | __in_opt PFNKSALLOCATOR Allocator, |
| IN ULONG EventItemSize OPTIONAL | | __in_opt ULONG EventItemSize |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDisableEvent( | | KsDisableEvent( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN OUT PLIST_ENTRY EventsList, | | __inout PLIST_ENTRY EventsList, |
| IN KSEVENTS_LOCKTYPE EventsFlags, | | __in KSEVENTS_LOCKTYPE EventsFlags, |
| IN PVOID EventsLock | | __in PVOID EventsLock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsDiscardEvent( | | KsDiscardEvent( |
|
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeEventList( | | KsFreeEventList( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN OUT PLIST_ENTRY EventsList, | | __inout PLIST_ENTRY EventsList, |
| IN KSEVENTS_LOCKTYPE EventsFlags, | | __in KSEVENTS_LOCKTYPE EventsFlags, |
| IN PVOID EventsLock | | __in PVOID EventsLock |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsGenerateEvent( | | KsGenerateEvent( |
|
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsGenerateDataEvent( | | KsGenerateDataEvent( |
|
| IN PKSEVENT_ENTRY EventEntry, | | __in PKSEVENT_ENTRY EventEntry, |
| IN ULONG DataSize, | | __in ULONG DataSize, |
| IN PVOID Data | | __in_bcount(DataSize) PVOID Data |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsGenerateEventList( | | KsGenerateEventList( |
|
| IN GUID* Set OPTIONAL, | | __in_opt GUID* Set, |
| IN ULONG EventId, | | __in ULONG EventId, |
| IN PLIST_ENTRY EventsList, | | __in PLIST_ENTRY EventsList, |
| IN KSEVENTS_LOCKTYPE EventsFlags, | | __in KSEVENTS_LOCKTYPE EventsFlags, |
| IN PVOID EventsLock | | __in PVOID EventsLock |
| ); | | ); |
| | |
| // property.c: | | // property.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPropertyHandler( | | KsPropertyHandler( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG PropertySetsCount, | | __in ULONG PropertySetsCount, |
| IN const KSPROPERTY_SET* PropertySet | | __in_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPropertyHandlerWithAllocator( | | KsPropertyHandlerWithAllocator( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG PropertySetsCount, | | __in ULONG PropertySetsCount, |
| IN const KSPROPERTY_SET* PropertySet, | | __in_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet, |
| IN PFNKSALLOCATOR Allocator OPTIONAL, | | __in_opt PFNKSALLOCATOR Allocator, |
| IN ULONG PropertyItemSize OPTIONAL | | __in ULONG PropertyItemSize OPTIONAL |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsFastPropertyHandler( | | KsFastPropertyHandler( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKSPROPERTY Property, | | __in_bcount(PropertyLength) PKSPROPERTY Property, |
| IN ULONG PropertyLength, | | __in ULONG PropertyLength, |
| IN OUT PVOID Data, | | __in_bcount(DataLength)PVOID Data, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT PIO_STATUS_BLOCK IoStatus, | | __out PIO_STATUS_BLOCK IoStatus, |
| IN ULONG PropertySetsCount, | | __in ULONG PropertySetsCount, |
| IN const KSPROPERTY_SET* PropertySet | | __in_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet |
| ); | | ); |
| | |
| // method.c: | | // method.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMethodHandler( | | KsMethodHandler( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG MethodSetsCount, | | __in ULONG MethodSetsCount, |
| IN const KSMETHOD_SET* MethodSet | | __in_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMethodHandlerWithAllocator( | | KsMethodHandlerWithAllocator( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG MethodSetsCount, | | __in ULONG MethodSetsCount, |
| IN const KSMETHOD_SET* MethodSet, | | __in_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet, |
| IN PFNKSALLOCATOR Allocator OPTIONAL, | | __in_opt PFNKSALLOCATOR Allocator, |
| IN ULONG MethodItemSize OPTIONAL | | __in ULONG MethodItemSize OPTIONAL |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsFastMethodHandler( | | KsFastMethodHandler( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKSMETHOD Method, | | __in_bcount(MethodLength) PKSMETHOD Method, |
| IN ULONG MethodLength, | | __in ULONG MethodLength, |
| IN OUT PVOID Data, | | __inout_bcount(DataLength) PVOID Data, |
| IN ULONG DataLength, | | __in ULONG DataLength, |
| OUT PIO_STATUS_BLOCK IoStatus, | | __out PIO_STATUS_BLOCK IoStatus, |
| IN ULONG MethodSetsCount, | | __in ULONG MethodSetsCount, |
| IN const KSMETHOD_SET* MethodSet | | __in_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet |
| ); | | ); |
| | |
| // alloc.c: | | // alloc.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultAllocator( | | KsCreateDefaultAllocator( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultAllocatorEx( | | KsCreateDefaultAllocatorEx( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PVOID InitializeContext OPTIONAL, | | __in_opt PVOID InitializeContext, |
| IN PFNKSDEFAULTALLOCATE DefaultAllocate OPTIONAL, | | __in_opt PFNKSDEFAULTALLOCATE DefaultAllocate, |
| IN PFNKSDEFAULTFREE DefaultFree OPTIONAL, | | __in_opt PFNKSDEFAULTFREE DefaultFree, |
| IN PFNKSINITIALIZEALLOCATOR InitializeAllocator OPTIONAL, | | __in_opt PFNKSINITIALIZEALLOCATOR InitializeAllocator, |
| IN PFNKSDELETEALLOCATOR DeleteAllocator OPTIONAL | | __in_opt PFNKSDELETEALLOCATOR DeleteAllocator |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateAllocator( | | KsCreateAllocator( |
|
| IN HANDLE ConnectionHandle, | | __in HANDLE ConnectionHandle, |
| IN PKSALLOCATOR_FRAMING AllocatorFraming, | | __in PKSALLOCATOR_FRAMING AllocatorFraming, |
| OUT PHANDLE AllocatorHandle | | __out PHANDLE AllocatorHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateAllocatorCreateRequest( | | KsValidateAllocatorCreateRequest( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| OUT PKSALLOCATOR_FRAMING* AllocatorFraming | | __out PKSALLOCATOR_FRAMING* AllocatorFraming |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateAllocatorFramingEx( | | KsValidateAllocatorFramingEx( |
|
| IN PKSALLOCATOR_FRAMING_EX Framing, | | __in PKSALLOCATOR_FRAMING_EX Framing, |
| IN ULONG BufferSize, | | __in ULONG BufferSize, |
| IN const KSALLOCATOR_FRAMING_EX *PinFraming | | __in const KSALLOCATOR_FRAMING_EX *PinFraming |
| ); | | ); |
| | |
| // clock.c: | | // clock.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateDefaultClock( | | KsAllocateDefaultClock( |
|
| OUT PKSDEFAULTCLOCK* DefaultClock | | __out PKSDEFAULTCLOCK* DefaultClock |
| ); | | ); |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINXP) | | #if (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateDefaultClockEx( | | KsAllocateDefaultClockEx( |
|
| OUT PKSDEFAULTCLOCK* DefaultClock, | | __out PKSDEFAULTCLOCK* DefaultClock, |
| IN PVOID Context OPTIONAL, | | __in_opt PVOID Context, |
| IN PFNKSSETTIMER SetTimer OPTIONAL, | | __in_opt PFNKSSETTIMER SetTimer, |
| IN PFNKSCANCELTIMER CancelTimer OPTIONAL, | | __in_opt PFNKSCANCELTIMER CancelTimer, |
| IN PFNKSCORRELATEDTIME CorrelatedTime OPTIONAL, | | __in_opt PFNKSCORRELATEDTIME CorrelatedTime, |
| IN const KSRESOLUTION* Resolution OPTIONAL, | | __in_opt const KSRESOLUTION* Resolution, |
| IN ULONG Flags | | __in ULONG Flags |
| ); | | ); |
| | |
| #endif // (NTDDI_VERSION >= NTDDI_WINXP) | | #endif // (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeDefaultClock( | | KsFreeDefaultClock( |
|
| IN PKSDEFAULTCLOCK DefaultClock | | __in PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultClock( | | KsCreateDefaultClock( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSDEFAULTCLOCK DefaultClock | | __in PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateClock( | | KsCreateClock( |
|
| IN HANDLE ConnectionHandle, | | __in HANDLE ConnectionHandle, |
| IN PKSCLOCK_CREATE ClockCreate, | | __in PKSCLOCK_CREATE ClockCreate, |
| OUT PHANDLE ClockHandle | | __out PHANDLE ClockHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateClockCreateRequest( | | KsValidateClockCreateRequest( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| OUT PKSCLOCK_CREATE* ClockCreate | | __deref_out PKSCLOCK_CREATE* ClockCreate |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSSTATE | | KSSTATE |
| NTAPI | | NTAPI |
| KsGetDefaultClockState( | | KsGetDefaultClockState( |
|
| IN PKSDEFAULTCLOCK DefaultClock | | __in PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetDefaultClockState( | | KsSetDefaultClockState( |
|
| IN PKSDEFAULTCLOCK DefaultClock, | | __in PKSDEFAULTCLOCK DefaultClock, |
| IN KSSTATE State | | __in KSSTATE State |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| LONGLONG | | LONGLONG |
| NTAPI | | NTAPI |
| KsGetDefaultClockTime( | | KsGetDefaultClockTime( |
|
| IN PKSDEFAULTCLOCK DefaultClock | | __in PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetDefaultClockTime( | | KsSetDefaultClockTime( |
|
| IN PKSDEFAULTCLOCK DefaultClock, | | __in PKSDEFAULTCLOCK DefaultClock, |
| IN LONGLONG Time | | __in LONGLONG Time |
| ); | | ); |
| | |
| // connect.c: | | // connect.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreatePin( | | KsCreatePin( |
|
| IN HANDLE FilterHandle, | | __in HANDLE FilterHandle, |
| IN PKSPIN_CONNECT Connect, | | __in PKSPIN_CONNECT Connect, |
| IN ACCESS_MASK DesiredAccess, | | __in ACCESS_MASK DesiredAccess, |
| OUT PHANDLE ConnectionHandle | | __out PHANDLE ConnectionHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateConnectRequest( | | KsValidateConnectRequest( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG DescriptorsCount, | | __in ULONG DescriptorsCount, |
| IN const KSPIN_DESCRIPTOR* Descriptor, | | __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, |
| OUT PKSPIN_CONNECT* Connect | | __out PKSPIN_CONNECT* Connect |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinPropertyHandler( | | KsPinPropertyHandler( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSPROPERTY Property, | | __in PKSPROPERTY Property, |
| IN OUT PVOID Data, | | __inout PVOID Data, |
| IN ULONG DescriptorsCount, | | __in ULONG DescriptorsCount, |
| IN const KSPIN_DESCRIPTOR* Descriptor | | __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinDataIntersection( | | KsPinDataIntersection( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSP_PIN Pin, | | __in PKSP_PIN Pin, |
| OUT PVOID Data OPTIONAL, | | __out_opt PVOID Data, |
| IN ULONG DescriptorsCount, | | __in ULONG DescriptorsCount, |
| IN const KSPIN_DESCRIPTOR* Descriptor, | | __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, |
| IN PFNKSINTERSECTHANDLER IntersectHandler | | __in PFNKSINTERSECTHANDLER IntersectHandler |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinDataIntersectionEx( | | KsPinDataIntersectionEx( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSP_PIN Pin, | | __in PKSP_PIN Pin, |
| OUT PVOID Data, | | __out PVOID Data, |
| IN ULONG DescriptorsCount, | | __in ULONG DescriptorsCount, |
| IN const KSPIN_DESCRIPTOR* Descriptor, | | __in_bcount(DescriptorsCount * DescriptorSize) const KSPIN_DESCRIPTOR* Descr |
| IN ULONG DescriptorSize, | | iptor, |
| IN PFNKSINTERSECTHANDLEREX IntersectHandler OPTIONAL, | | __in ULONG DescriptorSize, |
| IN PVOID HandlerContext OPTIONAL | | __in_opt PFNKSINTERSECTHANDLEREX IntersectHandler, |
| | __in_opt PVOID HandlerContext |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsHandleSizedListQuery( | | KsHandleSizedListQuery( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN ULONG DataItemsCount, | | __in ULONG DataItemsCount, |
| IN ULONG DataItemSize, | | __in ULONG DataItemSize, |
| IN const VOID* DataItems | | __in_bcount(DataItemsCount * DataItemSize) const VOID* DataItems |
| ); | | ); |
| | |
| // image.c: | | // image.c: |
| | |
| #if (!defined( MAKEINTRESOURCE )) | | #if (!defined( MAKEINTRESOURCE )) |
| #define MAKEINTRESOURCE( res ) ((ULONG_PTR) (USHORT) res) | | #define MAKEINTRESOURCE( res ) ((ULONG_PTR) (USHORT) res) |
| #endif | | #endif |
| | |
| #if (!defined( RT_STRING )) | | #if (!defined( RT_STRING )) |
| #define RT_STRING MAKEINTRESOURCE( 6 ) | | #define RT_STRING MAKEINTRESOURCE( 6 ) |
| #define RT_RCDATA MAKEINTRESOURCE( 10 ) | | #define RT_RCDATA MAKEINTRESOURCE( 10 ) |
| #endif | | #endif |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsLoadResource( | | KsLoadResource( |
|
| IN PVOID ImageBase, | | __in PVOID ImageBase, |
| IN POOL_TYPE PoolType, | | __in POOL_TYPE PoolType, |
| IN ULONG_PTR ResourceName, | | __in ULONG_PTR ResourceName, |
| IN ULONG ResourceType, | | __in ULONG ResourceType, |
| OUT PVOID *Resource, | | __deref_out_bcount(ResourceSize) PVOID *Resource, |
| OUT PULONG ResourceSize | | __out_opt PULONG ResourceSize |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsGetImageNameAndResourceId( | | KsGetImageNameAndResourceId( |
|
| IN HANDLE RegKey, | | __in HANDLE RegKey, |
| OUT PUNICODE_STRING ImageName, | | __out PUNICODE_STRING ImageName, |
| OUT PULONG_PTR ResourceId, | | __out PULONG_PTR ResourceId, |
| OUT PULONG ValueType | | __out PULONG ValueType |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMapModuleName( | | KsMapModuleName( |
|
| IN PDEVICE_OBJECT PhysicalDeviceObject, | | __in PDEVICE_OBJECT PhysicalDeviceObject, |
| IN PUNICODE_STRING ModuleName, | | __in PUNICODE_STRING ModuleName, |
| OUT PUNICODE_STRING ImageName, | | __out PUNICODE_STRING ImageName, |
| OUT PULONG_PTR ResourceId, | | __out PULONG_PTR ResourceId, |
| OUT PULONG ValueType | | __out PULONG ValueType |
| ); | | ); |
| | |
| // irp.c: | | // irp.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsReferenceBusObject( | | KsReferenceBusObject( |
|
| IN KSDEVICE_HEADER Header | | __in KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsDereferenceBusObject( | | KsDereferenceBusObject( |
|
| IN KSDEVICE_HEADER Header | | __in KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchQuerySecurity( | | KsDispatchQuerySecurity( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchSetSecurity( | | KsDispatchSetSecurity( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchSpecificProperty( | | KsDispatchSpecificProperty( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PFNKSHANDLER Handler | | __in PFNKSHANDLER Handler |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchSpecificMethod( | | KsDispatchSpecificMethod( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PFNKSHANDLER Handler | | __in PFNKSHANDLER Handler |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsReadFile( | | KsReadFile( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKEVENT Event OPTIONAL, | | __in_opt PKEVENT Event, |
| IN PVOID PortContext OPTIONAL, | | __in_opt PVOID PortContext, |
| OUT PIO_STATUS_BLOCK IoStatusBlock, | | __out PIO_STATUS_BLOCK IoStatusBlock, |
| OUT PVOID Buffer, | | __out_bcount(Length) PVOID Buffer, |
| IN ULONG Length, | | __in ULONG Length, |
| IN ULONG Key OPTIONAL, | | __in ULONG Key OPTIONAL, |
| IN KPROCESSOR_MODE RequestorMode | | __in KPROCESSOR_MODE RequestorMode |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsWriteFile( | | KsWriteFile( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKEVENT Event OPTIONAL, | | __in_opt PKEVENT Event, |
| IN PVOID PortContext OPTIONAL, | | __in_opt PVOID PortContext, |
| OUT PIO_STATUS_BLOCK IoStatusBlock, | | __out PIO_STATUS_BLOCK IoStatusBlock, |
| IN PVOID Buffer, | | __in_bcount(Length) PVOID Buffer, |
| IN ULONG Length, | | __in ULONG Length, |
| IN ULONG Key OPTIONAL, | | __in ULONG Key OPTIONAL, |
| IN KPROCESSOR_MODE RequestorMode | | __in KPROCESSOR_MODE RequestorMode |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsQueryInformationFile( | | KsQueryInformationFile( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| OUT PVOID FileInformation, | | __out_bcount(Length) PVOID FileInformation, |
| IN ULONG Length, | | __in ULONG Length, |
| IN FILE_INFORMATION_CLASS FileInformationClass | | __in FILE_INFORMATION_CLASS FileInformationClass |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsSetInformationFile( | | KsSetInformationFile( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PVOID FileInformation, | | __in_bcount(Length) PVOID FileInformation, |
| IN ULONG Length, | | __in ULONG Length, |
| IN FILE_INFORMATION_CLASS FileInformationClass | | __in FILE_INFORMATION_CLASS FileInformationClass |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamIo( | | KsStreamIo( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PKEVENT Event OPTIONAL, | | __in_opt PKEVENT Event, |
| IN PVOID PortContext OPTIONAL, | | __in_opt PVOID PortContext, |
| IN PIO_COMPLETION_ROUTINE CompletionRoutine OPTIONAL, | | __in_opt PIO_COMPLETION_ROUTINE CompletionRoutine, |
| IN PVOID CompletionContext OPTIONAL, | | __in_opt PVOID CompletionContext, |
| IN KSCOMPLETION_INVOCATION CompletionInvocationFlags OPTIONAL, | | __in KSCOMPLETION_INVOCATION CompletionInvocationFlags OPTIONAL, |
| OUT PIO_STATUS_BLOCK IoStatusBlock, | | __out PIO_STATUS_BLOCK IoStatusBlock, |
| IN OUT PVOID StreamHeaders, | | __inout_bcount(Length) PVOID StreamHeaders, |
| IN ULONG Length, | | __in ULONG Length, |
| IN ULONG Flags, | | __in ULONG Flags, |
| IN KPROCESSOR_MODE RequestorMode | | __in KPROCESSOR_MODE RequestorMode |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsProbeStreamIrp( | | KsProbeStreamIrp( |
|
| IN OUT PIRP Irp, | | __inout PIRP Irp, |
| IN ULONG ProbeFlags, | | __in ULONG ProbeFlags, |
| IN ULONG HeaderSize OPTIONAL | | __in ULONG HeaderSize OPTIONAL |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateExtraData( | | KsAllocateExtraData( |
|
| IN OUT PIRP Irp, | | __inout PIRP Irp, |
| IN ULONG ExtraSize, | | __in ULONG ExtraSize, |
| OUT PVOID* ExtraBuffer | | __out PVOID* ExtraBuffer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsNullDriverUnload( | | KsNullDriverUnload( |
|
| IN PDRIVER_OBJECT DriverObject | | __in PDRIVER_OBJECT DriverObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsSetMajorFunctionHandler( | | KsSetMajorFunctionHandler( |
|
| IN PDRIVER_OBJECT DriverObject, | | __in PDRIVER_OBJECT DriverObject, |
| IN ULONG MajorFunction | | __in ULONG MajorFunction |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchInvalidDeviceRequest( | | KsDispatchInvalidDeviceRequest( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDefaultDeviceIoCompletion( | | KsDefaultDeviceIoCompletion( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDispatchIrp( | | KsDispatchIrp( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsDispatchFastIoDeviceControlFailure( | | KsDispatchFastIoDeviceControlFailure( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN BOOLEAN Wait, | | __in BOOLEAN Wait, |
| IN PVOID InputBuffer OPTIONAL, | | __in_bcount_opt(InputBufferLength) PVOID InputBuffer, |
| IN ULONG InputBufferLength, | | __in ULONG InputBufferLength, |
| OUT PVOID OutputBuffer OPTIONAL, | | __out_bcount_opt(OutputBufferLength) PVOID OutputBuffer, |
| IN ULONG OutputBufferLength, | | __in ULONG OutputBufferLength, |
| IN ULONG IoControlCode, | | __in ULONG IoControlCode, |
| OUT PIO_STATUS_BLOCK IoStatus, | | __out PIO_STATUS_BLOCK IoStatus, |
| IN PDEVICE_OBJECT DeviceObject | | __in PDEVICE_OBJECT DeviceObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsDispatchFastReadFailure( | | KsDispatchFastReadFailure( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN PLARGE_INTEGER FileOffset, | | __in PLARGE_INTEGER FileOffset, |
| IN ULONG Length, | | __in ULONG Length, |
| IN BOOLEAN Wait, | | __in BOOLEAN Wait, |
| IN ULONG LockKey, | | __in ULONG LockKey, |
| OUT PVOID Buffer, | | __out PVOID Buffer, |
| OUT PIO_STATUS_BLOCK IoStatus, | | __out PIO_STATUS_BLOCK IoStatus, |
| IN PDEVICE_OBJECT DeviceObject | | __in PDEVICE_OBJECT DeviceObject |
| ); | | ); |
| | |
| #define KsDispatchFastWriteFailure KsDispatchFastReadFailure | | #define KsDispatchFastWriteFailure KsDispatchFastReadFailure |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DRIVER_CANCEL KsCancelRoutine; | | DRIVER_CANCEL KsCancelRoutine; |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsCancelIo( | | KsCancelIo( |
|
| IN OUT PLIST_ENTRY QueueHead, | | __inout PLIST_ENTRY QueueHead, |
| IN PKSPIN_LOCK SpinLock | | __in PKSPIN_LOCK SpinLock |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsReleaseIrpOnCancelableQueue( | | KsReleaseIrpOnCancelableQueue( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PDRIVER_CANCEL DriverCancel OPTIONAL | | __in_opt PDRIVER_CANCEL DriverCancel |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PIRP | | PIRP |
| NTAPI | | NTAPI |
| KsRemoveIrpFromCancelableQueue( | | KsRemoveIrpFromCancelableQueue( |
|
| IN OUT PLIST_ENTRY QueueHead, | | __inout PLIST_ENTRY QueueHead, |
| IN PKSPIN_LOCK SpinLock, | | __in PKSPIN_LOCK SpinLock, |
| IN KSLIST_ENTRY_LOCATION ListLocation, | | __in KSLIST_ENTRY_LOCATION ListLocation, |
| IN KSIRP_REMOVAL_OPERATION RemovalOperation | | __in KSIRP_REMOVAL_OPERATION RemovalOperation |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMoveIrpsOnCancelableQueue( | | KsMoveIrpsOnCancelableQueue( |
|
| IN OUT PLIST_ENTRY SourceList, | | __inout PLIST_ENTRY SourceList, |
| IN PKSPIN_LOCK SourceLock, | | __in PKSPIN_LOCK SourceLock, |
| IN OUT PLIST_ENTRY DestinationList, | | __inout PLIST_ENTRY DestinationList, |
| IN PKSPIN_LOCK DestinationLock OPTIONAL, | | __in_opt PKSPIN_LOCK DestinationLock, |
| IN KSLIST_ENTRY_LOCATION ListLocation, | | __in KSLIST_ENTRY_LOCATION ListLocation, |
| IN PFNKSIRPLISTCALLBACK ListCallback, | | __in PFNKSIRPLISTCALLBACK ListCallback, |
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsRemoveSpecificIrpFromCancelableQueue( | | KsRemoveSpecificIrpFromCancelableQueue( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsAddIrpToCancelableQueue( | | KsAddIrpToCancelableQueue( |
|
| IN OUT PLIST_ENTRY QueueHead, | | __inout PLIST_ENTRY QueueHead, |
| IN PKSPIN_LOCK SpinLock, | | __in PKSPIN_LOCK SpinLock, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN KSLIST_ENTRY_LOCATION ListLocation, | | __in KSLIST_ENTRY_LOCATION ListLocation, |
| IN PDRIVER_CANCEL DriverCancel OPTIONAL | | __in_opt PDRIVER_CANCEL DriverCancel |
| ); | | ); |
| | |
| // api.c: | | // api.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAcquireResetValue( | | KsAcquireResetValue( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| OUT KSRESET* ResetValue | | __out KSRESET* ResetValue |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsTopologyPropertyHandler( | | KsTopologyPropertyHandler( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSPROPERTY Property, | | __in PKSPROPERTY Property, |
| IN OUT PVOID Data, | | __inout PVOID Data, |
| IN const KSTOPOLOGY* Topology | | __in const KSTOPOLOGY* Topology |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsAcquireDeviceSecurityLock( | | KsAcquireDeviceSecurityLock( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN BOOLEAN Exclusive | | __in BOOLEAN Exclusive |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsReleaseDeviceSecurityLock( | | KsReleaseDeviceSecurityLock( |
|
| IN KSDEVICE_HEADER Header | | __in KSDEVICE_HEADER Header |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| NTSTATUS | | __drv_dispatchType(IRP_MJ_PNP) DRIVER_DISPATCH KsDefaultDispatchPnp; |
| NTAPI | | |
| KsDefaultDispatchPnp( | | |
| IN PDEVICE_OBJECT DeviceObject, | | |
| IN PIRP Irp | | |
| ); | | |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| NTSTATUS | | __drv_dispatchType(IRP_MJ_POWER) DRIVER_DISPATCH KsDefaultDispatchPower; |
| NTAPI | | |
| KsDefaultDispatchPower( | | |
| IN PDEVICE_OBJECT DeviceObject, | | |
| IN PIRP Irp | | |
| ); | | |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| NTSTATUS | | __drv_dispatchType(IRP_MJ_SYSTEM_CONTROL) |
| NTAPI | | __drv_dispatchType(IRP_MJ_DEVICE_CONTROL) |
| KsDefaultForwardIrp( | | DRIVER_DISPATCH KsDefaultForwardIrp; |
| IN PDEVICE_OBJECT DeviceObject, | | |
| IN PIRP Irp | | |
| ); | | |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetDevicePnpAndBaseObject( | | KsSetDevicePnpAndBaseObject( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN PDEVICE_OBJECT PnpDeviceObject, | | __in PDEVICE_OBJECT PnpDeviceObject, |
| IN PDEVICE_OBJECT BaseObject | | __in PDEVICE_OBJECT BaseObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PDEVICE_OBJECT | | PDEVICE_OBJECT |
| NTAPI | | NTAPI |
| KsQueryDevicePnpObject( | | KsQueryDevicePnpObject( |
|
| IN KSDEVICE_HEADER Header | | __in KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ACCESS_MASK | | ACCESS_MASK |
| NTAPI | | NTAPI |
| KsQueryObjectAccessMask( | | KsQueryObjectAccessMask( |
|
| IN KSOBJECT_HEADER Header | | __in KSOBJECT_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsRecalculateStackDepth( | | KsRecalculateStackDepth( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN BOOLEAN ReuseStackLocation | | __in BOOLEAN ReuseStackLocation |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetTargetState( | | KsSetTargetState( |
|
| IN KSOBJECT_HEADER Header, | | __in KSOBJECT_HEADER Header, |
| IN KSTARGET_STATE TargetState | | __in KSTARGET_STATE TargetState |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetTargetDeviceObject( | | KsSetTargetDeviceObject( |
|
| IN KSOBJECT_HEADER Header, | | __in KSOBJECT_HEADER Header, |
| IN PDEVICE_OBJECT TargetDevice OPTIONAL | | __in_opt PDEVICE_OBJECT TargetDevice |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetPowerDispatch( | | KsSetPowerDispatch( |
|
| IN KSOBJECT_HEADER Header, | | __in KSOBJECT_HEADER Header, |
| IN PFNKSCONTEXT_DISPATCH PowerDispatch OPTIONAL, | | __in_opt PFNKSCONTEXT_DISPATCH PowerDispatch, |
| IN PVOID PowerContext OPTIONAL | | __in_opt PVOID PowerContext |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSOBJECT_CREATE_ITEM | | PKSOBJECT_CREATE_ITEM |
| NTAPI | | NTAPI |
| KsQueryObjectCreateItem( | | KsQueryObjectCreateItem( |
|
| IN KSOBJECT_HEADER Header | | __in KSOBJECT_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateDeviceHeader( | | KsAllocateDeviceHeader( |
|
| OUT KSDEVICE_HEADER* Header, | | __out KSDEVICE_HEADER* Header, |
| IN ULONG ItemsCount, | | __in ULONG ItemsCount, |
| IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL | | __in_ecount_opt(ItemsCount) PKSOBJECT_CREATE_ITEM ItemsList |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeDeviceHeader( | | KsFreeDeviceHeader( |
|
| IN KSDEVICE_HEADER Header | | __in KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateObjectHeader( | | KsAllocateObjectHeader( |
|
| OUT KSOBJECT_HEADER* Header, | | __out KSOBJECT_HEADER* Header, |
| IN ULONG ItemsCount, | | __in ULONG ItemsCount, |
| IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL, | | __in_ecount_opt(ItemsCount) PKSOBJECT_CREATE_ITEM ItemsList, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN const KSDISPATCH_TABLE* Table | | __in const KSDISPATCH_TABLE* Table |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeObjectHeader( | | KsFreeObjectHeader( |
|
| IN KSOBJECT_HEADER Header | | __in KSOBJECT_HEADER Header |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAddObjectCreateItemToDeviceHeader( | | KsAddObjectCreateItemToDeviceHeader( |
| __in KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| __in PDRIVER_DISPATCH Create, | | __in PDRIVER_DISPATCH Create, |
| __in PVOID Context, | | __in PVOID Context, |
| __in PWSTR ObjectClass, | | __in PWSTR ObjectClass, |
| __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor | | __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAddObjectCreateItemToObjectHeader( | | KsAddObjectCreateItemToObjectHeader( |
| __in KSOBJECT_HEADER Header, | | __in KSOBJECT_HEADER Header, |
| __in PDRIVER_DISPATCH Create, | | __in PDRIVER_DISPATCH Create, |
| __in PVOID Context, | | __in PVOID Context, |
| __in PWSTR ObjectClass, | | __in PWSTR ObjectClass, |
| __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor | | __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateObjectCreateItem( | | KsAllocateObjectCreateItem( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN PKSOBJECT_CREATE_ITEM CreateItem, | | __in PKSOBJECT_CREATE_ITEM CreateItem, |
| IN BOOLEAN AllocateEntry, | | __in BOOLEAN AllocateEntry, |
| IN PFNKSITEMFREECALLBACK ItemFreeCallback OPTIONAL | | __in_opt PFNKSITEMFREECALLBACK ItemFreeCallback |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFreeObjectCreateItem( | | KsFreeObjectCreateItem( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN PUNICODE_STRING CreateItem | | __in PUNICODE_STRING CreateItem |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFreeObjectCreateItemsByContext( | | KsFreeObjectCreateItemsByContext( |
|
| IN KSDEVICE_HEADER Header, | | __in KSDEVICE_HEADER Header, |
| IN PVOID Context | | __in PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultSecurity( | | KsCreateDefaultSecurity( |
|
| IN PSECURITY_DESCRIPTOR ParentSecurity OPTIONAL, | | __in_opt PSECURITY_DESCRIPTOR ParentSecurity, |
| OUT PSECURITY_DESCRIPTOR* DefaultSecurity | | __out PSECURITY_DESCRIPTOR* DefaultSecurity |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsForwardIrp( | | KsForwardIrp( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN BOOLEAN ReuseStackLocation | | __in BOOLEAN ReuseStackLocation |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsForwardAndCatchIrp( | | KsForwardAndCatchIrp( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN KSSTACK_USE StackUse | | __in KSSTACK_USE StackUse |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsSynchronousIoControlDevice( | | KsSynchronousIoControlDevice( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN KPROCESSOR_MODE RequestorMode, | | __in KPROCESSOR_MODE RequestorMode, |
| IN ULONG IoControl, | | __in ULONG IoControl, |
| IN PVOID InBuffer, | | __in_bcount(InSize) PVOID InBuffer, |
| IN ULONG InSize, | | __in ULONG InSize, |
| OUT PVOID OutBuffer, | | __out_bcount_part(OutSize, *BytesReturned) PVOID OutBuffer, |
| IN ULONG OutSize, | | __in ULONG OutSize, |
| OUT PULONG BytesReturned | | __out PULONG BytesReturned |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsUnserializeObjectPropertiesFromRegistry( | | KsUnserializeObjectPropertiesFromRegistry( |
|
| IN PFILE_OBJECT FileObject, | | __in PFILE_OBJECT FileObject, |
| IN HANDLE ParentKey OPTIONAL, | | __in_opt HANDLE ParentKey, |
| IN PUNICODE_STRING RegistryPath OPTIONAL | | __in_opt PUNICODE_STRING RegistryPath |
| ); | | ); |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINXP) | | #if (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCacheMedium( | | KsCacheMedium( |
|
| IN PUNICODE_STRING SymbolicLink, | | __in PUNICODE_STRING SymbolicLink, |
| IN PKSPIN_MEDIUM Medium, | | __in PKSPIN_MEDIUM Medium, |
| IN ULONG PinDirection | | __in ULONG PinDirection |
| ); | | ); |
| | |
| #endif // (NTDDI_VERSION >= NTDDI_WINXP) | | #endif // (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
| // thread.c: | | // thread.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsRegisterWorker( | | KsRegisterWorker( |
|
| IN WORK_QUEUE_TYPE WorkQueueType, | | __in WORK_QUEUE_TYPE WorkQueueType, |
| OUT PKSWORKER* Worker | | __out PKSWORKER* Worker |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsRegisterCountedWorker( | | KsRegisterCountedWorker( |
|
| IN WORK_QUEUE_TYPE WorkQueueType, | | __in WORK_QUEUE_TYPE WorkQueueType, |
| IN PWORK_QUEUE_ITEM CountedWorkItem, | | __in PWORK_QUEUE_ITEM CountedWorkItem, |
| OUT PKSWORKER* Worker | | __out PKSWORKER* Worker |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsUnregisterWorker( | | KsUnregisterWorker( |
|
| IN PKSWORKER Worker | | __in PKSWORKER Worker |
| ); | | ); |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsQueueWorkItem( | | KsQueueWorkItem( |
|
| IN PKSWORKER Worker, | | __in PKSWORKER Worker, |
| IN PWORK_QUEUE_ITEM WorkItem | | __in PWORK_QUEUE_ITEM WorkItem |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsIncrementCountedWorker( | | KsIncrementCountedWorker( |
|
| IN PKSWORKER Worker | | __in PKSWORKER Worker |
| ); | | ); |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDecrementCountedWorker( | | KsDecrementCountedWorker( |
|
| IN PKSWORKER Worker | | __in PKSWORKER Worker |
| ); | | ); |
| | |
| // topology.c: | | // topology.c: |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateTopologyNode( | | KsCreateTopologyNode( |
|
| IN HANDLE ParentHandle, | | __in HANDLE ParentHandle, |
| IN PKSNODE_CREATE NodeCreate, | | __in PKSNODE_CREATE NodeCreate, |
| IN ACCESS_MASK DesiredAccess, | | __in ACCESS_MASK DesiredAccess, |
| OUT PHANDLE NodeHandle | | __out PHANDLE NodeHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateTopologyNodeCreateRequest( | | KsValidateTopologyNodeCreateRequest( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSTOPOLOGY Topology, | | __in PKSTOPOLOGY Topology, |
| OUT PKSNODE_CREATE* NodeCreate | | __out PKSNODE_CREATE* NodeCreate |
| ); | | ); |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINXP) | | #if (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMergeAutomationTables( | | KsMergeAutomationTables( |
|
| OUT PKSAUTOMATION_TABLE* AutomationTableAB, | | __out PKSAUTOMATION_TABLE* AutomationTableAB, |
| IN PKSAUTOMATION_TABLE AutomationTableA OPTIONAL, | | __in_opt PKSAUTOMATION_TABLE AutomationTableA, |
| IN PKSAUTOMATION_TABLE AutomationTableB OPTIONAL, | | __in_opt PKSAUTOMATION_TABLE AutomationTableB, |
| IN KSOBJECT_BAG Bag OPTIONAL | | __in_opt KSOBJECT_BAG Bag |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsInitializeDriver( | | KsInitializeDriver( |
|
| IN PDRIVER_OBJECT DriverObject, | | __in PDRIVER_OBJECT DriverObject, |
| IN PUNICODE_STRING RegistryPathName, | | __in PUNICODE_STRING RegistryPathName, |
| IN const KSDEVICE_DESCRIPTOR* Descriptor OPTIONAL | | __in_opt const KSDEVICE_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAddDevice( | | KsAddDevice( |
|
| IN PDRIVER_OBJECT DriverObject, | | __in PDRIVER_OBJECT DriverObject, |
| IN PDEVICE_OBJECT PhysicalDeviceObject | | __in PDEVICE_OBJECT PhysicalDeviceObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDevice( | | KsCreateDevice( |
|
| IN PDRIVER_OBJECT DriverObject, | | __in PDRIVER_OBJECT DriverObject, |
| IN PDEVICE_OBJECT PhysicalDeviceObject, | | __in PDEVICE_OBJECT PhysicalDeviceObject, |
| IN const KSDEVICE_DESCRIPTOR* Descriptor OPTIONAL, | | __in_opt const KSDEVICE_DESCRIPTOR* Descriptor, |
| IN ULONG ExtensionSize OPTIONAL, | | __in ULONG ExtensionSize, |
| OUT PKSDEVICE* Device OPTIONAL | | __out_opt PKSDEVICE* Device |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsInitializeDevice( | | KsInitializeDevice( |
|
| IN PDEVICE_OBJECT FunctionalDeviceObject, | | __in PDEVICE_OBJECT FunctionalDeviceObject, |
| IN PDEVICE_OBJECT PhysicalDeviceObject, | | __in PDEVICE_OBJECT PhysicalDeviceObject, |
| IN PDEVICE_OBJECT NextDeviceObject, | | __in PDEVICE_OBJECT NextDeviceObject, |
| IN const KSDEVICE_DESCRIPTOR* Descriptor OPTIONAL | | __in_opt const KSDEVICE_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsTerminateDevice( | | KsTerminateDevice( |
|
| IN PDEVICE_OBJECT DeviceObject | | __in PDEVICE_OBJECT DeviceObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSDEVICE | | PKSDEVICE |
| NTAPI | | NTAPI |
| KsGetDeviceForDeviceObject( | | KsGetDeviceForDeviceObject( |
|
| IN PDEVICE_OBJECT FunctionalDeviceObject | | __in PDEVICE_OBJECT FunctionalDeviceObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsAcquireDevice( | | KsAcquireDevice( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsReleaseDevice( | | KsReleaseDevice( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsDeviceRegisterAdapterObject( | | KsDeviceRegisterAdapterObject( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PADAPTER_OBJECT AdapterObject, | | __in PADAPTER_OBJECT AdapterObject, |
| IN ULONG MaxMappingsByteCount, | | __in ULONG MaxMappingsByteCount, |
| IN ULONG MappingTableStride | | __in ULONG MappingTableStride |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDeviceGetBusData( | | KsDeviceGetBusData( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN ULONG DataType, | | __in ULONG DataType, |
| IN PVOID Buffer, | | __in_bcount(Length) PVOID Buffer, |
| IN ULONG Offset, | | __in ULONG Offset, |
| IN ULONG Length | | __in ULONG Length |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDeviceSetBusData( | | KsDeviceSetBusData( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN ULONG DataType, | | __in ULONG DataType, |
| IN PVOID Buffer, | | __in_bcount(Length) PVOID Buffer, |
| IN ULONG Offset, | | __in ULONG Offset, |
| IN ULONG Length | | __in ULONG Length |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateFilterFactory( | | KsCreateFilterFactory( |
| __in PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| __in const KSFILTER_DESCRIPTOR *Descriptor, | | __in const KSFILTER_DESCRIPTOR *Descriptor, |
|
| __in_opt PWSTR RefString OPTIONAL, | | __in_opt PWSTR RefString, |
| __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor, | | __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor, |
| __in ULONG CreateItemFlags, | | __in ULONG CreateItemFlags, |
| __in_opt PFNKSFILTERFACTORYPOWER SleepCallback, | | __in_opt PFNKSFILTERFACTORYPOWER SleepCallback, |
| __in_opt PFNKSFILTERFACTORYPOWER WakeCallback, | | __in_opt PFNKSFILTERFACTORYPOWER WakeCallback, |
| __out_opt PKSFILTERFACTORY *FilterFactory | | __out_opt PKSFILTERFACTORY *FilterFactory |
| ); | | ); |
| | |
| #define KsDeleteFilterFactory(FilterFactory) \ | | #define KsDeleteFilterFactory(FilterFactory) \ |
| KsFreeObjectCreateItemsByContext(\ | | KsFreeObjectCreateItemsByContext(\ |
| *(KSDEVICE_HEADER *)(\ | | *(KSDEVICE_HEADER *)(\ |
| KsFilterFactoryGetParentDevice(FilterFactory)->FunctionalDeviceObjec
t->\ | | KsFilterFactoryGetParentDevice(FilterFactory)->FunctionalDeviceObjec
t->\ |
| DeviceExtension),\ | | DeviceExtension),\ |
| FilterFactory) | | FilterFactory) |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterFactoryUpdateCacheData( | | KsFilterFactoryUpdateCacheData( |
|
| IN PKSFILTERFACTORY FilterFactory, | | __in PKSFILTERFACTORY FilterFactory, |
| IN const KSFILTER_DESCRIPTOR *FilterDescriptor OPTIONAL | | __in_opt const KSFILTER_DESCRIPTOR *FilterDescriptor |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterFactoryAddCreateItem( | | KsFilterFactoryAddCreateItem( |
| __in PKSFILTERFACTORY FilterFactory, | | __in PKSFILTERFACTORY FilterFactory, |
| __in PWSTR RefString, | | __in PWSTR RefString, |
| __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor, | | __in_opt PSECURITY_DESCRIPTOR SecurityDescriptor, |
| __in ULONG CreateItemFlags | | __in ULONG CreateItemFlags |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterFactorySetDeviceClassesState( | | KsFilterFactorySetDeviceClassesState( |
|
| IN PKSFILTERFACTORY FilterFactory, | | __in PKSFILTERFACTORY FilterFactory, |
| IN BOOLEAN NewState | | __in BOOLEAN NewState |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PUNICODE_STRING | | PUNICODE_STRING |
| NTAPI | | NTAPI |
| KsFilterFactoryGetSymbolicLink( | | KsFilterFactoryGetSymbolicLink( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsAddEvent( | | KsAddEvent( |
|
| IN PVOID Object, | | __in PVOID Object, |
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void _inline | | void _inline |
| KsFilterAddEvent( | | KsFilterAddEvent( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ) | | ) |
| { | | { |
| KsAddEvent(Filter,EventEntry); | | KsAddEvent(Filter,EventEntry); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void _inline | | void _inline |
| KsPinAddEvent( | | KsPinAddEvent( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSEVENT_ENTRY EventEntry | | __in PKSEVENT_ENTRY EventEntry |
| ) | | ) |
| { | | { |
| KsAddEvent(Pin,EventEntry); | | KsAddEvent(Pin,EventEntry); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDefaultAddEventHandler( | | KsDefaultAddEventHandler( |
|
| IN PIRP Irp, | | __in PIRP Irp, |
| IN PKSEVENTDATA EventData, | | __in PKSEVENTDATA EventData, |
| IN OUT PKSEVENT_ENTRY EventEntry | | __inout PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsGenerateEvents( | | KsGenerateEvents( |
|
| IN PVOID Object, | | __in PVOID Object, |
| IN const GUID* EventSet OPTIONAL, | | __in_opt const GUID* EventSet, |
| IN ULONG EventId, | | __in ULONG EventId, |
| IN ULONG DataSize, | | __in ULONG DataSize, |
| IN PVOID Data OPTIONAL, | | __in_bcount_opt(DataSize) PVOID Data, |
| IN PFNKSGENERATEEVENTCALLBACK CallBack OPTIONAL, | | __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, |
| IN PVOID CallBackContext OPTIONAL | | __in_opt PVOID CallBackContext |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| void _inline | | void _inline |
| KsFilterGenerateEvents( | | KsFilterGenerateEvents( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN const GUID* EventSet OPTIONAL, | | __in_opt const GUID* EventSet, |
| IN ULONG EventId, | | __in ULONG EventId, |
| IN ULONG DataSize, | | __in ULONG DataSize, |
| IN PVOID Data OPTIONAL, | | __in_bcount(DataSize) PVOID Data, |
| IN PFNKSGENERATEEVENTCALLBACK CallBack OPTIONAL, | | __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, |
| IN PVOID CallBackContext OPTIONAL | | __in_opt PVOID CallBackContext |
| ) | | ) |
| { | | { |
| KsGenerateEvents( | | KsGenerateEvents( |
| Filter, | | Filter, |
| EventSet, | | EventSet, |
| EventId, | | EventId, |
| DataSize, | | DataSize, |
| Data, | | Data, |
| CallBack, | | CallBack, |
| CallBackContext); | | CallBackContext); |
| } | | } |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| void _inline | | void _inline |
| KsPinGenerateEvents( | | KsPinGenerateEvents( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN const GUID* EventSet OPTIONAL, | | __in_opt const GUID* EventSet, |
| IN ULONG EventId, | | __in ULONG EventId, |
| IN ULONG DataSize, | | __in ULONG DataSize, |
| IN PVOID Data OPTIONAL, | | __in_bcount_opt(DataSize) PVOID Data, |
| IN PFNKSGENERATEEVENTCALLBACK CallBack OPTIONAL, | | __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, |
| IN PVOID CallBackContext OPTIONAL | | __in_opt PVOID CallBackContext |
| ) | | ) |
| { | | { |
| KsGenerateEvents( | | KsGenerateEvents( |
| Pin, | | Pin, |
| EventSet, | | EventSet, |
| EventId, | | EventId, |
| DataSize, | | DataSize, |
| Data, | | Data, |
| CallBack, | | CallBack, |
| CallBackContext); | | CallBackContext); |
| } | | } |
| | |
| typedef enum { | | typedef enum { |
| KSSTREAM_POINTER_STATE_UNLOCKED = 0, | | KSSTREAM_POINTER_STATE_UNLOCKED = 0, |
| KSSTREAM_POINTER_STATE_LOCKED | | KSSTREAM_POINTER_STATE_LOCKED |
| } KSSTREAM_POINTER_STATE; | | } KSSTREAM_POINTER_STATE; |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinGetAvailableByteCount( | | KsPinGetAvailableByteCount( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| OUT PLONG InputDataBytes OPTIONAL, | | __out_opt PLONG InputDataBytes, |
| OUT PLONG OutputBufferBytes OPTIONAL | | __out_opt PLONG OutputBufferBytes |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsPinGetLeadingEdgeStreamPointer( | | KsPinGetLeadingEdgeStreamPointer( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN KSSTREAM_POINTER_STATE State | | __in KSSTREAM_POINTER_STATE State |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsPinGetTrailingEdgeStreamPointer( | | KsPinGetTrailingEdgeStreamPointer( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN KSSTREAM_POINTER_STATE State | | __in KSSTREAM_POINTER_STATE State |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerSetStatusCode( | | KsStreamPointerSetStatusCode( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN NTSTATUS Status | | __in NTSTATUS Status |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerLock( | | KsStreamPointerLock( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerUnlock( | | KsStreamPointerUnlock( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN BOOLEAN Eject | | __in BOOLEAN Eject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerAdvanceOffsetsAndUnlock( | | KsStreamPointerAdvanceOffsetsAndUnlock( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN ULONG InUsed, | | __in ULONG InUsed, |
| IN ULONG OutUsed, | | __in ULONG OutUsed, |
| IN BOOLEAN Eject | | __in BOOLEAN Eject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerDelete( | | KsStreamPointerDelete( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerClone( | | KsStreamPointerClone( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN PFNKSSTREAMPOINTER CancelCallback OPTIONAL, | | __in_opt PFNKSSTREAMPOINTER CancelCallback, |
| IN ULONG ContextSize, | | __in ULONG ContextSize, |
| OUT PKSSTREAM_POINTER* CloneStreamPointer | | __out PKSSTREAM_POINTER* CloneStreamPointer |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerAdvanceOffsets( | | KsStreamPointerAdvanceOffsets( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN ULONG InUsed, | | __in ULONG InUsed, |
| IN ULONG OutUsed, | | __in ULONG OutUsed, |
| IN BOOLEAN Eject | | __in BOOLEAN Eject |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerAdvance( | | KsStreamPointerAdvance( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PMDL | | PMDL |
| NTAPI | | NTAPI |
| KsStreamPointerGetMdl( | | KsStreamPointerGetMdl( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PIRP | | PIRP |
| NTAPI | | NTAPI |
| KsStreamPointerGetIrp( | | KsStreamPointerGetIrp( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| OUT PBOOLEAN FirstFrameInIrp OPTIONAL, | | __out_opt PBOOLEAN FirstFrameInIrp, |
| OUT PBOOLEAN LastFrameInIrp OPTIONAL | | __out_opt PBOOLEAN LastFrameInIrp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerScheduleTimeout( | | KsStreamPointerScheduleTimeout( |
|
| IN PKSSTREAM_POINTER StreamPointer, | | __in PKSSTREAM_POINTER StreamPointer, |
| IN PFNKSSTREAMPOINTER Callback, | | __in PFNKSSTREAMPOINTER Callback, |
| IN ULONGLONG Interval | | __in ULONGLONG Interval |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerCancelTimeout( | | KsStreamPointerCancelTimeout( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsPinGetFirstCloneStreamPointer( | | KsPinGetFirstCloneStreamPointer( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsStreamPointerGetNextClone( | | KsStreamPointerGetNextClone( |
|
| IN PKSSTREAM_POINTER StreamPointer | | __in PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinHandshake( | | KsPinHandshake( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSHANDSHAKE In, | | __in PKSHANDSHAKE In, |
| OUT PKSHANDSHAKE Out | | __out PKSHANDSHAKE Out |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsCompletePendingRequest( | | KsCompletePendingRequest( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSOBJECTTYPE | | KSOBJECTTYPE |
| NTAPI | | NTAPI |
| KsGetObjectTypeFromIrp( | | KsGetObjectTypeFromIrp( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetObjectFromFileObject( | | KsGetObjectFromFileObject( |
|
| IN PFILE_OBJECT FileObject | | __in PFILE_OBJECT FileObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSOBJECTTYPE | | KSOBJECTTYPE |
| NTAPI | | NTAPI |
| KsGetObjectTypeFromFileObject( | | KsGetObjectTypeFromFileObject( |
|
| IN PFILE_OBJECT FileObject | | __in PFILE_OBJECT FileObject |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| PKSFILTER __inline | | PKSFILTER __inline |
| KsGetFilterFromFileObject( | | KsGetFilterFromFileObject( |
|
| IN PFILE_OBJECT FileObject | | __in PFILE_OBJECT FileObject |
| ) | | ) |
| { | | { |
| return (PKSFILTER) KsGetObjectFromFileObject(FileObject); | | return (PKSFILTER) KsGetObjectFromFileObject(FileObject); |
| } | | } |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| PKSPIN __inline | | PKSPIN __inline |
| KsGetPinFromFileObject( | | KsGetPinFromFileObject( |
|
| IN PFILE_OBJECT FileObject | | __in PFILE_OBJECT FileObject |
| ) | | ) |
| { | | { |
| return (PKSPIN) KsGetObjectFromFileObject(FileObject); | | return (PKSPIN) KsGetObjectFromFileObject(FileObject); |
| } | | } |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSGATE | | PKSGATE |
| NTAPI | | NTAPI |
| KsFilterGetAndGate( | | KsFilterGetAndGate( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterAcquireProcessingMutex( | | KsFilterAcquireProcessingMutex( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterReleaseProcessingMutex( | | KsFilterReleaseProcessingMutex( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterAttemptProcessing( | | KsFilterAttemptProcessing( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN BOOLEAN Asynchronous | | __in BOOLEAN Asynchronous |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSGATE | | PKSGATE |
| NTAPI | | NTAPI |
| KsPinGetAndGate( | | KsPinGetAndGate( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAttachAndGate( | | KsPinAttachAndGate( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSGATE AndGate OPTIONAL | | __in_opt PKSGATE AndGate |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAttachOrGate( | | KsPinAttachOrGate( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PKSGATE OrGate OPTIONAL | | __in_opt PKSGATE OrGate |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAcquireProcessingMutex( | | KsPinAcquireProcessingMutex( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinReleaseProcessingMutex( | | KsPinReleaseProcessingMutex( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsProcessPinUpdate( | | KsProcessPinUpdate( |
|
| IN PKSPROCESSPIN ProcessPin | | __in PKSPROCESSPIN ProcessPin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinGetCopyRelationships( | | KsPinGetCopyRelationships( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| OUT PKSPIN* CopySource, | | __out PKSPIN* CopySource, |
| OUT PKSPIN* DelegateBranch | | __out PKSPIN* DelegateBranch |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAttemptProcessing( | | KsPinAttemptProcessing( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN BOOLEAN Asynchronous | | __in BOOLEAN Asynchronous |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetParent( | | KsGetParent( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSDEVICE __inline | | PKSDEVICE __inline |
| KsFilterFactoryGetParentDevice( | | KsFilterFactoryGetParentDevice( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ) | | ) |
| { | | { |
| return (PKSDEVICE) KsGetParent((PVOID) FilterFactory); | | return (PKSDEVICE) KsGetParent((PVOID) FilterFactory); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSFILTERFACTORY __inline | | PKSFILTERFACTORY __inline |
| KsFilterGetParentFilterFactory( | | KsFilterGetParentFilterFactory( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| return (PKSFILTERFACTORY) KsGetParent((PVOID) Filter); | | return (PKSFILTERFACTORY) KsGetParent((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSFILTER | | PKSFILTER |
| NTAPI | | NTAPI |
| KsPinGetParentFilter( | | KsPinGetParentFilter( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetFirstChild( | | KsGetFirstChild( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSFILTERFACTORY __inline | | PKSFILTERFACTORY __inline |
| KsDeviceGetFirstChildFilterFactory( | | KsDeviceGetFirstChildFilterFactory( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ) | | ) |
| { | | { |
| return (PKSFILTERFACTORY) KsGetFirstChild((PVOID) Device); | | return (PKSFILTERFACTORY) KsGetFirstChild((PVOID) Device); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSFILTER __inline | | PKSFILTER __inline |
| KsFilterFactoryGetFirstChildFilter( | | KsFilterFactoryGetFirstChildFilter( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ) | | ) |
| { | | { |
| return (PKSFILTER) KsGetFirstChild((PVOID) FilterFactory); | | return (PKSFILTER) KsGetFirstChild((PVOID) FilterFactory); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsFilterGetChildPinCount( | | KsFilterGetChildPinCount( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN ULONG PinId | | __in ULONG PinId |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSPIN | | PKSPIN |
| NTAPI | | NTAPI |
| KsFilterGetFirstChildPin( | | KsFilterGetFirstChildPin( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN ULONG PinId | | __in ULONG PinId |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetNextSibling( | | KsGetNextSibling( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSPIN | | PKSPIN |
| NTAPI | | NTAPI |
| KsPinGetNextSiblingPin( | | KsPinGetNextSiblingPin( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSFILTERFACTORY __inline | | PKSFILTERFACTORY __inline |
| KsFilterFactoryGetNextSiblingFilterFactory( | | KsFilterFactoryGetNextSiblingFilterFactory( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ) | | ) |
| { | | { |
| return (PKSFILTERFACTORY) KsGetNextSibling((PVOID) FilterFactory); | | return (PKSFILTERFACTORY) KsGetNextSibling((PVOID) FilterFactory); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSFILTER __inline | | PKSFILTER __inline |
| KsFilterGetNextSiblingFilter( | | KsFilterGetNextSiblingFilter( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| return (PKSFILTER) KsGetNextSibling((PVOID) Filter); | | return (PKSFILTER) KsGetNextSibling((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSDEVICE | | PKSDEVICE |
| NTAPI | | NTAPI |
| KsGetDevice( | | KsGetDevice( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSDEVICE __inline | | PKSDEVICE __inline |
| KsFilterFactoryGetDevice( | | KsFilterFactoryGetDevice( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ) | | ) |
| { | | { |
| return KsGetDevice((PVOID) FilterFactory); | | return KsGetDevice((PVOID) FilterFactory); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSDEVICE __inline | | PKSDEVICE __inline |
| KsFilterGetDevice( | | KsFilterGetDevice( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| return KsGetDevice((PVOID) Filter); | | return KsGetDevice((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PKSDEVICE __inline | | PKSDEVICE __inline |
| KsPinGetDevice( | | KsPinGetDevice( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ) | | ) |
| { | | { |
| return KsGetDevice((PVOID) Pin); | | return KsGetDevice((PVOID) Pin); |
| } | | } |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSFILTER | | PKSFILTER |
| NTAPI | | NTAPI |
| KsGetFilterFromIrp( | | KsGetFilterFromIrp( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSPIN | | PKSPIN |
| NTAPI | | NTAPI |
| KsGetPinFromIrp( | | KsGetPinFromIrp( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsGetNodeIdFromIrp( | | KsGetNodeIdFromIrp( |
|
| IN PIRP Irp | | __in PIRP Irp |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsAcquireControl( | | KsAcquireControl( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsReleaseControl( | | KsReleaseControl( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsFilterAcquireControl( | | KsFilterAcquireControl( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| KsAcquireControl((PVOID) Filter); | | KsAcquireControl((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsFilterReleaseControl( | | KsFilterReleaseControl( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| KsReleaseControl((PVOID) Filter); | | KsReleaseControl((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsPinAcquireControl( | | KsPinAcquireControl( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ) | | ) |
| { | | { |
| KsAcquireControl((PVOID) Pin); | | KsAcquireControl((PVOID) Pin); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsPinReleaseControl( | | KsPinReleaseControl( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ) | | ) |
| { | | { |
| KsReleaseControl((PVOID) Pin); | | KsReleaseControl((PVOID) Pin); |
| } | | } |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAddItemToObjectBag( | | KsAddItemToObjectBag( |
|
| IN KSOBJECT_BAG ObjectBag, | | __in KSOBJECT_BAG ObjectBag, |
| IN PVOID Item, | | __in __drv_aliasesMem PVOID Item, |
| IN PFNKSFREE Free OPTIONAL | | __in_opt PFNKSFREE Free |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsRemoveItemFromObjectBag( | | KsRemoveItemFromObjectBag( |
|
| IN KSOBJECT_BAG ObjectBag, | | __in KSOBJECT_BAG ObjectBag, |
| IN PVOID Item, | | __in PVOID Item, |
| IN BOOLEAN Free | | __in BOOLEAN Free |
| ); | | ); |
| | |
| #define KsDiscard(Object,Pointer)\ | | #define KsDiscard(Object,Pointer)\ |
| KsRemoveItemFromObjectBag(\ | | KsRemoveItemFromObjectBag(\ |
| (Object)->Bag,\ | | (Object)->Bag,\ |
| (PVOID)(Pointer),\ | | (PVOID)(Pointer),\ |
| TRUE) | | TRUE) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateObjectBag( | | KsAllocateObjectBag( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| OUT KSOBJECT_BAG* ObjectBag | | __out KSOBJECT_BAG* ObjectBag |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFreeObjectBag( | | KsFreeObjectBag( |
|
| IN KSOBJECT_BAG ObjectBag | | __in KSOBJECT_BAG ObjectBag |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCopyObjectBagItems( | | KsCopyObjectBagItems( |
|
| IN KSOBJECT_BAG ObjectBagDestination, | | __in KSOBJECT_BAG ObjectBagDestination, |
| IN KSOBJECT_BAG ObjectBagSource | | __in KSOBJECT_BAG ObjectBagSource |
| ); | | ); |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| _KsEdit( | | _KsEdit( |
|
| IN KSOBJECT_BAG ObjectBag, | | __in KSOBJECT_BAG ObjectBag, |
| IN OUT PVOID* PointerToPointerToItem, | | __inout PVOID* PointerToPointerToItem, |
| IN ULONG NewSize, | | __in ULONG NewSize, |
| IN ULONG OldSize, | | __in ULONG OldSize, |
| IN ULONG Tag | | __in ULONG Tag |
| ); | | ); |
| | |
| #define KsEdit(Object,PointerToPointer,Tag)\ | | #define KsEdit(Object,PointerToPointer,Tag)\ |
| _KsEdit(\ | | _KsEdit(\ |
| (Object)->Bag,\ | | (Object)->Bag,\ |
| (PVOID*)(PointerToPointer),\ | | (PVOID*)(PointerToPointer),\ |
| sizeof(**(PointerToPointer)),\ | | sizeof(**(PointerToPointer)),\ |
| sizeof(**(PointerToPointer)),\ | | sizeof(**(PointerToPointer)),\ |
| (Tag)) | | (Tag)) |
| #define KsEditSized(Object,PointerToPointer,NewSize,OldSize,Tag)\ | | #define KsEditSized(Object,PointerToPointer,NewSize,OldSize,Tag)\ |
| _KsEdit((Object)->Bag,(PVOID*)(PointerToPointer),(NewSize),(OldSize),(Tag)) | | _KsEdit((Object)->Bag,(PVOID*)(PointerToPointer),(NewSize),(OldSize),(Tag)) |
| | |
|
| | __checkReturn |
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsRegisterFilterWithNoKSPins( | | KsRegisterFilterWithNoKSPins( |
|
| IN PDEVICE_OBJECT DeviceObject, | | __in PDEVICE_OBJECT DeviceObject, |
| IN const GUID * InterfaceClassGUID, | | __in const GUID * InterfaceClassGUID, |
| IN ULONG PinCount, | | __in ULONG PinCount, |
| IN BOOL * PinDirection, | | __in_ecount(PinCount) BOOL * PinDirection, |
| IN KSPIN_MEDIUM * MediumList, | | __in_ecount(PinCount) KSPIN_MEDIUM * Mediu |
| IN OPTIONAL GUID * CategoryList | | mList, |
| | __in_ecount_opt(PinCount) GUID * CategoryL |
| | ist |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterCreatePinFactory ( | | KsFilterCreatePinFactory ( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN const KSPIN_DESCRIPTOR_EX *const PinDescriptor, | | __in const KSPIN_DESCRIPTOR_EX *const PinDescriptor, |
| OUT PULONG PinID | | __out PULONG PinID |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterCreateNode ( | | KsFilterCreateNode ( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN const KSNODE_DESCRIPTOR *const NodeDescriptor, | | __in const KSNODE_DESCRIPTOR *const NodeDescriptor, |
| OUT PULONG NodeID | | __out PULONG NodeID |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterAddTopologyConnections ( | | KsFilterAddTopologyConnections ( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN ULONG NewConnectionsCount, | | __in ULONG NewConnectionsCount, |
| IN const KSTOPOLOGY_CONNECTION *const NewTopologyConnections | | __in_ecount(NewConnectionsCount) const KSTOPOLOGY_CONNECTION *const NewTopol |
| | ogyConnections |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinGetConnectedPinInterface( | | KsPinGetConnectedPinInterface( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN const GUID* InterfaceId, | | __in const GUID* InterfaceId, |
| OUT PVOID* Interface | | __out PVOID* Interface |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PFILE_OBJECT | | PFILE_OBJECT |
| NTAPI | | NTAPI |
| KsPinGetConnectedPinFileObject( | | KsPinGetConnectedPinFileObject( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
| PDEVICE_OBJECT | | PDEVICE_OBJECT |
| NTAPI | | NTAPI |
| KsPinGetConnectedPinDeviceObject( | | KsPinGetConnectedPinDeviceObject( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinGetConnectedFilterInterface( | | KsPinGetConnectedFilterInterface( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN const GUID* InterfaceId, | | __in const GUID* InterfaceId, |
| OUT PVOID* Interface | | __out PVOID* Interface |
| ); | | ); |
| | |
| #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinGetReferenceClockInterface( | | KsPinGetReferenceClockInterface( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| OUT PIKSREFERENCECLOCK* Interface | | __out PIKSREFERENCECLOCK* Interface |
| ); | | ); |
| | |
| #endif //defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #endif //defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsPinSetPinClockTime( | | KsPinSetPinClockTime( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN LONGLONG Time | | __in LONGLONG Time |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinSubmitFrame( | | KsPinSubmitFrame( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PVOID Data OPTIONAL, | | __in_bcount_opt(Size) PVOID Data, |
| IN ULONG Size OPTIONAL, | | __in ULONG Size OPTIONAL, |
| IN PKSSTREAM_HEADER StreamHeader OPTIONAL, | | __in_opt PKSSTREAM_HEADER StreamHeader, |
| IN PVOID Context OPTIONAL | | __in_opt PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinSubmitFrameMdl( | | KsPinSubmitFrameMdl( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PMDL Mdl OPTIONAL, | | __in_opt PMDL Mdl, |
| IN PKSSTREAM_HEADER StreamHeader OPTIONAL, | | __in_opt PKSSTREAM_HEADER StreamHeader, |
| IN PVOID Context OPTIONAL | | __in_opt PVOID Context |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinRegisterFrameReturnCallback( | | KsPinRegisterFrameReturnCallback( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PFNKSPINFRAMERETURN FrameReturn | | __in PFNKSPINFRAMERETURN FrameReturn |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinRegisterIrpCompletionCallback( | | KsPinRegisterIrpCompletionCallback( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PFNKSPINIRPCOMPLETION IrpCompletion | | __in PFNKSPINIRPCOMPLETION IrpCompletion |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinRegisterHandshakeCallback( | | KsPinRegisterHandshakeCallback( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PFNKSPINHANDSHAKE Handshake | | __in PFNKSPINHANDSHAKE Handshake |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterRegisterPowerCallbacks( | | KsFilterRegisterPowerCallbacks( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN PFNKSFILTERPOWER Sleep OPTIONAL, | | __in_opt PFNKSFILTERPOWER Sleep, |
| IN PFNKSFILTERPOWER Wake OPTIONAL | | __in_opt PFNKSFILTERPOWER Wake |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinRegisterPowerCallbacks( | | KsPinRegisterPowerCallbacks( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PFNKSPINPOWER Sleep OPTIONAL, | | __in_opt PFNKSPINPOWER Sleep, |
| IN PFNKSPINPOWER Wake OPTIONAL | | __in_opt PFNKSPINPOWER Wake |
| ); | | ); |
| | |
| #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PUNKNOWN | | PUNKNOWN |
| NTAPI | | NTAPI |
| KsRegisterAggregatedClientUnknown( | | KsRegisterAggregatedClientUnknown( |
|
| IN PVOID Object, | | __in PVOID Object, |
| IN PUNKNOWN ClientUnknown | | __in PUNKNOWN ClientUnknown |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PUNKNOWN | | PUNKNOWN |
| NTAPI | | NTAPI |
| KsGetOuterUnknown( | | KsGetOuterUnknown( |
|
| IN PVOID Object | | __in PVOID Object |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsDeviceRegisterAggregatedClientUnknown( | | KsDeviceRegisterAggregatedClientUnknown( |
|
| IN PKSDEVICE Device, | | __in PKSDEVICE Device, |
| IN PUNKNOWN ClientUnknown | | __in PUNKNOWN ClientUnknown |
| ) | | ) |
| { | | { |
| return KsRegisterAggregatedClientUnknown((PVOID) Device,ClientUnknown); | | return KsRegisterAggregatedClientUnknown((PVOID) Device,ClientUnknown); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsDeviceGetOuterUnknown( | | KsDeviceGetOuterUnknown( |
|
| IN PKSDEVICE Device | | __in PKSDEVICE Device |
| ) | | ) |
| { | | { |
| return KsGetOuterUnknown((PVOID) Device); | | return KsGetOuterUnknown((PVOID) Device); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsFilterFactoryRegisterAggregatedClientUnknown( | | KsFilterFactoryRegisterAggregatedClientUnknown( |
|
| IN PKSFILTERFACTORY FilterFactory, | | __in PKSFILTERFACTORY FilterFactory, |
| IN PUNKNOWN ClientUnknown | | __in PUNKNOWN ClientUnknown |
| ) | | ) |
| { | | { |
| return KsRegisterAggregatedClientUnknown((PVOID) FilterFactory,ClientUnknown
); | | return KsRegisterAggregatedClientUnknown((PVOID) FilterFactory,ClientUnknown
); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsFilterFactoryGetOuterUnknown( | | KsFilterFactoryGetOuterUnknown( |
|
| IN PKSFILTERFACTORY FilterFactory | | __in PKSFILTERFACTORY FilterFactory |
| ) | | ) |
| { | | { |
| return KsGetOuterUnknown((PVOID) FilterFactory); | | return KsGetOuterUnknown((PVOID) FilterFactory); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsFilterRegisterAggregatedClientUnknown( | | KsFilterRegisterAggregatedClientUnknown( |
|
| IN PKSFILTER Filter, | | __in PKSFILTER Filter, |
| IN PUNKNOWN ClientUnknown | | __in PUNKNOWN ClientUnknown |
| ) | | ) |
| { | | { |
| return KsRegisterAggregatedClientUnknown((PVOID) Filter,ClientUnknown); | | return KsRegisterAggregatedClientUnknown((PVOID) Filter,ClientUnknown); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsFilterGetOuterUnknown( | | KsFilterGetOuterUnknown( |
|
| IN PKSFILTER Filter | | __in PKSFILTER Filter |
| ) | | ) |
| { | | { |
| return KsGetOuterUnknown((PVOID) Filter); | | return KsGetOuterUnknown((PVOID) Filter); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsPinRegisterAggregatedClientUnknown( | | KsPinRegisterAggregatedClientUnknown( |
|
| IN PKSPIN Pin, | | __in PKSPIN Pin, |
| IN PUNKNOWN ClientUnknown | | __in PUNKNOWN ClientUnknown |
| ) | | ) |
| { | | { |
| return KsRegisterAggregatedClientUnknown((PVOID) Pin,ClientUnknown); | | return KsRegisterAggregatedClientUnknown((PVOID) Pin,ClientUnknown); |
| } | | } |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| PUNKNOWN __inline | | PUNKNOWN __inline |
| KsPinGetOuterUnknown( | | KsPinGetOuterUnknown( |
|
| IN PKSPIN Pin | | __in PKSPIN Pin |
| ) | | ) |
| { | | { |
| return KsGetOuterUnknown((PVOID) Pin); | | return KsGetOuterUnknown((PVOID) Pin); |
| } | | } |
| | |
| #endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| | |
| #endif // (NTDDI_VERSION >= NTDDI_WINXP) | | #endif // (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
| #else // !defined(_NTDDK_) | | #else // !defined(_NTDDK_) |
| | |
| #if !defined( KS_NO_CREATE_FUNCTIONS ) | | #if !defined( KS_NO_CREATE_FUNCTIONS ) |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| KsCreateAllocator( | | KsCreateAllocator( |
|
| IN HANDLE ConnectionHandle, | | __in HANDLE ConnectionHandle, |
| IN PKSALLOCATOR_FRAMING AllocatorFraming, | | __in PKSALLOCATOR_FRAMING AllocatorFraming, |
| OUT PHANDLE AllocatorHandle | | __out PHANDLE AllocatorHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DWORD | | DWORD |
| NTAPI | | NTAPI |
| KsCreateClock( | | KsCreateClock( |
|
| IN HANDLE ConnectionHandle, | | __in HANDLE ConnectionHandle, |
| IN PKSCLOCK_CREATE ClockCreate, | | __in PKSCLOCK_CREATE ClockCreate, |
| OUT PHANDLE ClockHandle | | __out PHANDLE ClockHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| KsCreatePin( | | KsCreatePin( |
|
| IN HANDLE FilterHandle, | | __in HANDLE FilterHandle, |
| IN PKSPIN_CONNECT Connect, | | __in PKSPIN_CONNECT Connect, |
| IN ACCESS_MASK DesiredAccess, | | __in ACCESS_MASK DesiredAccess, |
| OUT PHANDLE ConnectionHandle | | __out PHANDLE ConnectionHandle |
| ); | | ); |
| | |
|
| | __drv_maxIRQL(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| KsCreateTopologyNode( | | KsCreateTopologyNode( |
|
| IN HANDLE ParentHandle, | | __in HANDLE ParentHandle, |
| IN PKSNODE_CREATE NodeCreate, | | __in PKSNODE_CREATE NodeCreate, |
| IN ACCESS_MASK DesiredAccess, | | __in ACCESS_MASK DesiredAccess, |
| OUT PHANDLE NodeHandle | | __out PHANDLE NodeHandle |
| ); | | ); |
| | |
| #endif | | #endif |
| | |
| #endif // !defined(_NTDDK_) | | #endif // !defined(_NTDDK_) |
| | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) |
| } | | } |
| #endif // defined(__cplusplus) | | #endif // defined(__cplusplus) |
| | |
| | |
| End of changes. 605 change blocks. |
| 820 lines changed or deleted | | 1213 lines changed or added |
|