| ks.h (6.1.7601.19091-Windows_7.0) | | ks.h (6.3.9600.17415-Windows_8.1) |
| | |
| 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_ |
| | |
|
| | #include <winapifamily.h> |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| #pragma warning(disable:4201) // nameless struct/union | | #pragma warning(disable:4201) // nameless struct/union |
| #pragma warning(disable:4214) // bit field types other than int | | #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 |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| | #pragma region Application Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) |
| | |
| #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 |
| #define STATICGUIDOF(guid) STATIC_##guid | | #define STATICGUIDOF(guid) STATIC_##guid |
| #endif // !defined(STATICGUIDOF) | | #endif // !defined(STATICGUIDOF) |
| #endif // !defined(_NTRTL_) | | #endif // !defined(_NTRTL_) |
| | |
| | |
| skipping to change at line 53 | | skipping to change at line 64 |
| #else // !defined(__cplusplus) | | #else // !defined(__cplusplus) |
| #define DEFINE_GUIDSTRUCT(g, n) DEFINE_GUIDEX(n) | | #define DEFINE_GUIDSTRUCT(g, n) DEFINE_GUIDEX(n) |
| #define DEFINE_GUIDNAMED(n) n | | #define DEFINE_GUIDNAMED(n) n |
| #endif // !defined(__cplusplus) | | #endif // !defined(__cplusplus) |
| | |
| //=========================================================================== | | //=========================================================================== |
| | |
| #define STATIC_GUID_NULL \ | | #define STATIC_GUID_NULL \ |
| 0x00000000L, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | | 0x00000000L, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
| | |
|
| | #pragma prefast(suppress: 6244, "duplicate definition is harmless in this case") |
| DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL); | | DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL); |
| #define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL) | | #define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL) |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ |
| | #pragma endregion |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| //=========================================================================== | | //=========================================================================== |
| | |
| #define IOCTL_KS_PROPERTY CTL_CODE(FILE_DEVICE_KS, 0x000, METHOD_NE
ITHER, FILE_ANY_ACCESS) | | #define IOCTL_KS_PROPERTY CTL_CODE(FILE_DEVICE_KS, 0x000, METHOD_NE
ITHER, FILE_ANY_ACCESS) |
| #define IOCTL_KS_ENABLE_EVENT CTL_CODE(FILE_DEVICE_KS, 0x001, METHOD_NE
ITHER, FILE_ANY_ACCESS) | | #define IOCTL_KS_ENABLE_EVENT CTL_CODE(FILE_DEVICE_KS, 0x001, METHOD_NE
ITHER, FILE_ANY_ACCESS) |
| #define IOCTL_KS_DISABLE_EVENT CTL_CODE(FILE_DEVICE_KS, 0x002, METHOD_NE
ITHER, FILE_ANY_ACCESS) | | #define IOCTL_KS_DISABLE_EVENT CTL_CODE(FILE_DEVICE_KS, 0x002, METHOD_NE
ITHER, FILE_ANY_ACCESS) |
| #define IOCTL_KS_METHOD CTL_CODE(FILE_DEVICE_KS, 0x003, METHOD_NE
ITHER, FILE_ANY_ACCESS) | | #define IOCTL_KS_METHOD CTL_CODE(FILE_DEVICE_KS, 0x003, METHOD_NE
ITHER, FILE_ANY_ACCESS) |
| #define IOCTL_KS_WRITE_STREAM CTL_CODE(FILE_DEVICE_KS, 0x004, METHOD_NE
ITHER, FILE_WRITE_ACCESS) | | #define IOCTL_KS_WRITE_STREAM CTL_CODE(FILE_DEVICE_KS, 0x004, METHOD_NE
ITHER, FILE_WRITE_ACCESS) |
| #define IOCTL_KS_READ_STREAM CTL_CODE(FILE_DEVICE_KS, 0x005, METHOD_NE
ITHER, FILE_READ_ACCESS) | | #define IOCTL_KS_READ_STREAM CTL_CODE(FILE_DEVICE_KS, 0x005, METHOD_NE
ITHER, FILE_READ_ACCESS) |
| #define IOCTL_KS_RESET_STATE CTL_CODE(FILE_DEVICE_KS, 0x006, METHOD_NE
ITHER, FILE_ANY_ACCESS) | | #define IOCTL_KS_RESET_STATE CTL_CODE(FILE_DEVICE_KS, 0x006, METHOD_NE
ITHER, FILE_ANY_ACCESS) |
| | |
| | |
| skipping to change at line 131 | | skipping to change at line 149 |
| #define KSPROPERTY_TYPE_SETSUPPORT 0x00000100 | | #define KSPROPERTY_TYPE_SETSUPPORT 0x00000100 |
| #define KSPROPERTY_TYPE_BASICSUPPORT 0x00000200 | | #define KSPROPERTY_TYPE_BASICSUPPORT 0x00000200 |
| #define KSPROPERTY_TYPE_RELATIONS 0x00000400 | | #define KSPROPERTY_TYPE_RELATIONS 0x00000400 |
| #define KSPROPERTY_TYPE_SERIALIZESET 0x00000800 | | #define KSPROPERTY_TYPE_SERIALIZESET 0x00000800 |
| #define KSPROPERTY_TYPE_UNSERIALIZESET 0x00001000 | | #define KSPROPERTY_TYPE_UNSERIALIZESET 0x00001000 |
| #define KSPROPERTY_TYPE_SERIALIZERAW 0x00002000 | | #define KSPROPERTY_TYPE_SERIALIZERAW 0x00002000 |
| #define KSPROPERTY_TYPE_UNSERIALIZERAW 0x00004000 | | #define KSPROPERTY_TYPE_UNSERIALIZERAW 0x00004000 |
| #define KSPROPERTY_TYPE_SERIALIZESIZE 0x00008000 | | #define KSPROPERTY_TYPE_SERIALIZESIZE 0x00008000 |
| #define KSPROPERTY_TYPE_DEFAULTVALUES 0x00010000 | | #define KSPROPERTY_TYPE_DEFAULTVALUES 0x00010000 |
| | |
|
| #define KSPROPERTY_TYPE_TOPOLOGY 0x10000000 | | #define KSPROPERTY_TYPE_TOPOLOGY 0x10000000 |
| | #define KSPROPERTY_TYPE_HIGHPRIORITY 0x08000000 |
| | #define KSPROPERTY_TYPE_COPYPAYLOAD 0x80000000 |
| | |
| typedef struct { | | typedef struct { |
| KSPROPERTY Property; | | KSPROPERTY Property; |
| ULONG NodeId; | | ULONG NodeId; |
| ULONG Reserved; | | ULONG Reserved; |
| } KSP_NODE, *PKSP_NODE; | | } KSP_NODE, *PKSP_NODE; |
| | |
| typedef struct { | | typedef struct { |
| KSMETHOD Method; | | KSMETHOD Method; |
| ULONG NodeId; | | ULONG NodeId; |
| | |
| skipping to change at line 710 | | skipping to change at line 730 |
| // | | // |
| // 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 750 | | skipping to change at line 770 |
| #define STATIC_KSCATEGORY_BRIDGE \ | | #define STATIC_KSCATEGORY_BRIDGE \ |
| 0x085AFF00L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x085AFF00L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("085AFF00-62CE-11CF-A5D6-28DB04C10000", KSCATEGORY_BRIDGE); | | DEFINE_GUIDSTRUCT("085AFF00-62CE-11CF-A5D6-28DB04C10000", KSCATEGORY_BRIDGE); |
| #define KSCATEGORY_BRIDGE DEFINE_GUIDNAMED(KSCATEGORY_BRIDGE) | | #define KSCATEGORY_BRIDGE DEFINE_GUIDNAMED(KSCATEGORY_BRIDGE) |
| | |
| #define STATIC_KSCATEGORY_CAPTURE \ | | #define STATIC_KSCATEGORY_CAPTURE \ |
| 0x65E8773DL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0x65E8773DL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196", KSCATEGORY_CAPTURE); | | DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196", KSCATEGORY_CAPTURE); |
| #define KSCATEGORY_CAPTURE DEFINE_GUIDNAMED(KSCATEGORY_CAPTURE) | | #define KSCATEGORY_CAPTURE DEFINE_GUIDNAMED(KSCATEGORY_CAPTURE) |
| | |
|
| | #define STATIC_KSCATEGORY_VIDEO_CAMERA \ |
| | 0xe5323777, 0xf976, 0x4f5b, 0x9b, 0x55, 0xb9, 0x46, 0x99, 0xc4, 0x6e, 0x44 |
| | DEFINE_GUIDSTRUCT("E5323777-F976-4f5b-9B55-B94699C46E44", KSCATEGORY_VIDEO_CAMER |
| | A); |
| | #define KSCATEGORY_VIDEO_CAMERA DEFINE_GUIDNAMED(KSCATEGORY_VIDEO_CAMERA) |
| | |
| #define STATIC_KSCATEGORY_RENDER \ | | #define STATIC_KSCATEGORY_RENDER \ |
| 0x65E8773EL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 | | 0x65E8773EL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 |
| DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196", KSCATEGORY_RENDER); | | DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196", KSCATEGORY_RENDER); |
| #define KSCATEGORY_RENDER DEFINE_GUIDNAMED(KSCATEGORY_RENDER) | | #define KSCATEGORY_RENDER DEFINE_GUIDNAMED(KSCATEGORY_RENDER) |
| | |
| #define STATIC_KSCATEGORY_MIXER \ | | #define STATIC_KSCATEGORY_MIXER \ |
| 0xAD809C00L, 0x7B88, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0xAD809C00L, 0x7B88, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000", KSCATEGORY_MIXER); | | DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000", KSCATEGORY_MIXER); |
| #define KSCATEGORY_MIXER DEFINE_GUIDNAMED(KSCATEGORY_MIXER) | | #define KSCATEGORY_MIXER DEFINE_GUIDNAMED(KSCATEGORY_MIXER) |
| | |
| | |
| skipping to change at line 879 | | skipping to change at line 904 |
| | |
| 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) | | _Field_size_(CategoriesCount) |
| const GUID* Categories; | | const GUID* Categories; |
| ULONG TopologyNodesCount; | | ULONG TopologyNodesCount; |
|
| __field_ecount(TopologyNodesCount) | | _Field_size_(TopologyNodesCount) |
| const GUID* TopologyNodes; | | const GUID* TopologyNodes; |
| ULONG TopologyConnectionsCount; | | ULONG TopologyConnectionsCount; |
|
| __field_ecount(TopologyConnectionsCount) | | _Field_size_(TopologyConnectionsCount) |
| const KSTOPOLOGY_CONNECTION* TopologyConnections; | | const KSTOPOLOGY_CONNECTION* TopologyConnections; |
|
| __field_ecount(TopologyNodesCount) | | _Field_size_(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 994 | | skipping to change at line 1019 |
| KSPROPERTY_PIN_DATAINTERSECTION, | | KSPROPERTY_PIN_DATAINTERSECTION, |
| KSPROPERTY_PIN_INTERFACES, | | KSPROPERTY_PIN_INTERFACES, |
| KSPROPERTY_PIN_MEDIUMS, | | KSPROPERTY_PIN_MEDIUMS, |
| KSPROPERTY_PIN_COMMUNICATION, | | KSPROPERTY_PIN_COMMUNICATION, |
| KSPROPERTY_PIN_GLOBALCINSTANCES, | | KSPROPERTY_PIN_GLOBALCINSTANCES, |
| KSPROPERTY_PIN_NECESSARYINSTANCES, | | KSPROPERTY_PIN_NECESSARYINSTANCES, |
| KSPROPERTY_PIN_PHYSICALCONNECTION, | | KSPROPERTY_PIN_PHYSICALCONNECTION, |
| KSPROPERTY_PIN_CATEGORY, | | KSPROPERTY_PIN_CATEGORY, |
| KSPROPERTY_PIN_NAME, | | KSPROPERTY_PIN_NAME, |
| KSPROPERTY_PIN_CONSTRAINEDDATARANGES, | | KSPROPERTY_PIN_CONSTRAINEDDATARANGES, |
|
| KSPROPERTY_PIN_PROPOSEDATAFORMAT | | KSPROPERTY_PIN_PROPOSEDATAFORMAT, |
| | KSPROPERTY_PIN_PROPOSEDATAFORMAT2, |
| } KSPROPERTY_PIN; | | } KSPROPERTY_PIN; |
| | |
|
| | #define KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE 0x00000001 |
| | #define KSPROPERTY_PIN_FLAGS_MASK KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE |
| | |
| typedef struct { | | typedef struct { |
| KSPROPERTY Property; | | KSPROPERTY Property; |
| ULONG PinId; | | ULONG PinId; |
|
| ULONG Reserved; | | union { |
| | ULONG Reserved; |
| | ULONG Flags; |
| | }; |
| } KSP_PIN, *PKSP_PIN; | | } KSP_PIN, *PKSP_PIN; |
| | |
| typedef struct { | | typedef struct { |
| KSEVENT Event; | | KSEVENT Event; |
| ULONG PinId; | | ULONG PinId; |
| ULONG Reserved; | | ULONG Reserved; |
| } KSE_PIN, *PKSE_PIN; | | } KSE_PIN, *PKSE_PIN; |
| | |
| #define KSINSTANCE_INDETERMINATE ((ULONG)-1) | | #define KSINSTANCE_INDETERMINATE ((ULONG)-1) |
| | |
| | |
| skipping to change at line 1067 | | skipping to change at line 1099 |
| | |
| 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; |
|
| __field_ecount(Count) PKSATTRIBUTE* Attributes; | | _Field_size_(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 1096 | | skipping to change at line 1128 |
| 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 | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_opt PVOID Data | | _Out_opt_ PVOID Data |
| ); | | ); |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_bcount_part_opt(DataBufferSize, *DataSize) PVOID Data, | | _Out_writes_bytes_to_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 1299 | | skipping to change at line 1331 |
| #define STATIC_KSEVENTSETID_PinCapsChange \ | | #define STATIC_KSEVENTSETID_PinCapsChange \ |
| 0xDD4F192E, 0x3B78, 0x49AD, 0xA5, 0x34, 0x2C, 0x31, 0x5b, 0x82, 0x20, 0x00 | | 0xDD4F192E, 0x3B78, 0x49AD, 0xA5, 0x34, 0x2C, 0x31, 0x5b, 0x82, 0x20, 0x00 |
| DEFINE_GUIDSTRUCT("DD4F192E-3B78-49AD-A534-2C315B822000", KSEVENTSETID_PinCapsCh
ange); | | DEFINE_GUIDSTRUCT("DD4F192E-3B78-49AD-A534-2C315B822000", KSEVENTSETID_PinCapsCh
ange); |
| #define KSEVENTSETID_PinCapsChange DEFINE_GUIDNAMED(KSEVENTSETID_PinCapsChange) | | #define KSEVENTSETID_PinCapsChange DEFINE_GUIDNAMED(KSEVENTSETID_PinCapsChange) |
| | |
| typedef enum { | | typedef enum { |
| KSEVENT_PINCAPS_FORMATCHANGE, | | KSEVENT_PINCAPS_FORMATCHANGE, |
| KSEVENT_PINCAPS_JACKINFOCHANGE | | KSEVENT_PINCAPS_JACKINFOCHANGE |
| } KSEVENT_PINCAPS_CHANGENOTIFICATIONS; | | } KSEVENT_PINCAPS_CHANGENOTIFICATIONS; |
| | |
|
| | #define STATIC_KSEVENTSETID_VolumeLimit \ |
| | 0xda168465, 0x3a7c, 0x4858, 0x9d, 0x4a, 0x3e, 0x8e, 0x24, 0x70, 0x1a, 0xe |
| | f |
| | DEFINE_GUIDSTRUCT("DA168465-3A7C-4858-9D4A-3E8E24701AEF", KSEVENTSETID_VolumeLim |
| | it); |
| | #define KSEVENTSETID_VolumeLimit DEFINE_GUIDNAMED(KSEVENTSETID_VolumeLimit) |
| | |
| | typedef enum { |
| | KSEVENT_VOLUMELIMIT_CHANGED |
| | } KSEVENT_VOLUMELIMIT; |
| | |
| #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 1340 | | skipping to change at line 1381 |
| 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) | | _Field_size_(InterfacesCount) |
| const KSPIN_INTERFACE* Interfaces; | | const KSPIN_INTERFACE* Interfaces; |
| ULONG MediumsCount; | | ULONG MediumsCount; |
|
| __field_ecount(MediumsCount) | | _Field_size_(MediumsCount) |
| const KSPIN_MEDIUM* Mediums; | | const KSPIN_MEDIUM* Mediums; |
| ULONG DataRangesCount; | | ULONG DataRangesCount; |
|
| __field_ecount(DataRangesCount) | | _Field_size_(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) | | _Field_size_(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 1625 | | skipping to change at line 1666 |
| 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, |
| __deref_out PVOID* Context | | _Outptr_ 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 1908 | | skipping to change at line 1949 |
| | |
| #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, |
| __deref_out PVOID *Frame | | _Outptr_ 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 1963 | | skipping to change at line 2004 |
| 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) | | _Field_size_bytes_(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 2181 | | skipping to change at line 2222 |
| 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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| LONGLONG | | LONGLONG |
| (FASTCALL *PFNKSCLOCK_GETTIME)( | | (FASTCALL *PFNKSCLOCK_GETTIME)( |
|
| __in PFILE_OBJECT FileObject | | _In_ PFILE_OBJECT FileObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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 2338 | | skipping to change at line 2379 |
| PVOID Context; | | PVOID Context; |
| ULONG Proportion; | | ULONG Proportion; |
| LONGLONG DeltaTime; | | LONGLONG DeltaTime; |
| } KSQUALITY, *PKSQUALITY; | | } KSQUALITY, *PKSQUALITY; |
| | |
| typedef struct { | | typedef struct { |
| PVOID Context; | | PVOID Context; |
| ULONG Status; | | ULONG Status; |
| } KSERROR, *PKSERROR; | | } KSERROR, *PKSERROR; |
| | |
|
| | #define STATIC_KSEVENTSETID_Device\ |
| | 0x288296ec, 0x9f94, 0x41b4, 0xa1, 0x53, 0xaa, 0x31, 0xae, 0xec, 0xb3, 0x3f |
| | DEFINE_GUIDSTRUCT("288296EC-9F94-41b4-A153-AA31AEECB33F", KSEVENTSETID_Device); |
| | #define KSEVENTSETID_Device DEFINE_GUIDNAMED(KSEVENTSETID_Device) |
| | |
| | typedef enum { |
| | KSEVENT_DEVICE_LOST, |
| | KSEVENT_DEVICE_PREEMPTED |
| | } KSEVENT_DEVICE; |
| | |
| typedef KSIDENTIFIER KSDEGRADE, *PKSDEGRADE; | | typedef KSIDENTIFIER KSDEGRADE, *PKSDEGRADE; |
| | |
| #define STATIC_KSDEGRADESETID_Standard\ | | #define STATIC_KSDEGRADESETID_Standard\ |
| 0x9F564180L, 0x704C, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 | | 0x9F564180L, 0x704C, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 |
| DEFINE_GUIDSTRUCT("9F564180-704C-11D0-A5D6-28DB04C10000", KSDEGRADESETID_Standar
d); | | DEFINE_GUIDSTRUCT("9F564180-704C-11D0-A5D6-28DB04C10000", KSDEGRADESETID_Standar
d); |
| #define KSDEGRADESETID_Standard DEFINE_GUIDNAMED(KSDEGRADESETID_Standard) | | #define KSDEGRADESETID_Standard DEFINE_GUIDNAMED(KSDEGRADESETID_Standard) |
| | |
| typedef enum { | | typedef enum { |
| KSDEGRADE_STANDARD_SAMPLE, | | KSDEGRADE_STANDARD_SAMPLE, |
| KSDEGRADE_STANDARD_QUALITY, | | KSDEGRADE_STANDARD_QUALITY, |
| | |
| skipping to change at line 2370 | | skipping to change at line 2421 |
| #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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSHANDLER)( | | (*PFNKSHANDLER)( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in PKSIDENTIFIER Request, | | _In_ PKSIDENTIFIER Request, |
| __inout PVOID Data | | _Inout_ PVOID Data |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSFASTHANDLER)( | | (*PFNKSFASTHANDLER)( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_bcount(RequestLength) PKSIDENTIFIER Request, | | _In_reads_bytes_(RequestLength) PKSIDENTIFIER Request, |
| __in ULONG RequestLength, | | _In_ ULONG RequestLength, |
| __inout_bcount(DataLength) PVOID Data, | | _Inout_updates_bytes_(DataLength) PVOID Data, |
| __in ULONG DataLength, | | _In_ ULONG DataLength, |
| __out PIO_STATUS_BLOCK IoStatus | | _Out_ PIO_STATUS_BLOCK IoStatus |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _Field_size_(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 2450 | | skipping to change at line 2501 |
| 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) | | _Field_size_(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 2493 | | skipping to change at line 2544 |
| 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) | | _Field_size_(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 2554 | | skipping to change at line 2605 |
| 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) | | _Field_size_(MethodsCount) |
| const KSMETHOD_ITEM* MethodItem; | | const KSMETHOD_ITEM* MethodItem; |
| ULONG FastIoCount; | | ULONG FastIoCount; |
|
| __field_ecount(FastIoCount) const KSFASTMETHOD_ITEM*FastIoTable; | | _Field_size_(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 2614 | | skipping to change at line 2665 |
| {\ | | {\ |
| 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; |
|
| __field_ecount(EventsCount) const KSEVENT_ITEM* EventItem; | | _Field_size_(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 2672 | | skipping to change at line 2723 |
| 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 2721 | | skipping to change at line 2772 |
| {\ | | {\ |
| 0,\ | | 0,\ |
| 0,\ | | 0,\ |
| NULL,\ | | NULL,\ |
| },\ | | },\ |
| NULL, 0\ | | NULL, 0\ |
| } | | } |
| | |
| typedef struct { | | typedef struct { |
| ULONG CreateItemsCount; | | ULONG CreateItemsCount; |
|
| __field_ecount(CreateItemsCount) PKSOBJECT_CREATE_ITEM CreateItemsList; | | _Field_size_(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 2797 | | skipping to change at line 2848 |
| 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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSIRPLISTCALLBACK)( | | (*PFNKSIRPLISTCALLBACK)( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in PVOID Context | | _In_ PVOID Context |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNREFERENCEDEVICEOBJECT)( | | (*PFNREFERENCEDEVICEOBJECT)( |
|
| __in PVOID Context | | _In_ PVOID Context |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| VOID | | VOID |
| (*PFNDEREFERENCEDEVICEOBJECT)( | | (*PFNDEREFERENCEDEVICEOBJECT)( |
|
| __in PVOID Context | | _In_ PVOID Context |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNQUERYREFERENCESTRING)( | | (*PFNQUERYREFERENCESTRING)( |
|
| __in PVOID Context, | | _In_ PVOID Context, |
| __inout 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 2849 | | skipping to change at line 2900 |
| | |
| 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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNQUERYMEDIUMSLIST)( | | (*PFNQUERYMEDIUMSLIST)( |
|
| __in PVOID Context, | | _In_ PVOID Context, |
| __out ULONG* MediumsCount, | | _Out_ ULONG* MediumsCount, |
| __out_ecount(MediumsCount) PKSPIN_MEDIUM* MediumList | | _Out_writes_(MediumsCount) PKSPIN_MEDIUM* MediumList |
| ); | | ); |
| | |
| typedef struct { | | typedef struct { |
| // | | // |
| // Standard interface header | | // Standard interface header |
| // | | // |
| | |
| INTERFACE Interface; | | INTERFACE Interface; |
| | |
| // | | // |
| | |
| skipping to change at line 2921 | | skipping to change at line 2972 |
| 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) | | _IRQL_requires_max_(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTurnInputOn( | | KsGateTurnInputOn( |
|
| __in_opt PKSGATE Gate | | _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) | | _IRQL_requires_max_(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateTurnInputOff( | | KsGateTurnInputOff( |
|
| __in_opt PKSGATE Gate | | _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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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 2979 | | skipping to change at line 3030 |
| 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) | | _IRQL_requires_max_(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitialize( | | KsGateInitialize( |
|
| __in PKSGATE Gate, | | _In_ PKSGATE Gate, |
| __in LONG InitialCount, | | _In_ LONG InitialCount, |
| __in_opt PKSGATE NextGate, | | _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) | | _IRQL_requires_max_(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitializeAnd( | | KsGateInitializeAnd( |
|
| __in PKSGATE AndGate, | | _In_ PKSGATE AndGate, |
| __in_opt PKSGATE NextOrGate | | _In_opt_ PKSGATE NextOrGate |
| ) | | ) |
| { | | { |
| KsGateInitialize(AndGate,1,NextOrGate,TRUE); | | KsGateInitialize(AndGate,1,NextOrGate,TRUE); |
| } | | } |
| | |
|
| __drv_maxIRQL(HIGH_LEVEL) | | _IRQL_requires_max_(HIGH_LEVEL) |
| void __inline | | void __inline |
| KsGateInitializeOr( | | KsGateInitializeOr( |
|
| __in PKSGATE OrGate, | | _In_ PKSGATE OrGate, |
| __in_opt PKSGATE NextAndGate | | _In_opt_ PKSGATE NextAndGate |
| ) | | ) |
| { | | { |
| KsGateInitialize(OrGate,0,NextAndGate,FALSE); | | KsGateInitialize(OrGate,0,NextAndGate,FALSE); |
| } | | } |
| | |
|
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOnInputToAnd(__in PKSGATE AndGa | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateAddOnInputToAnd(_In_ PKSGATE |
| te) { UNREFERENCED_PARAMETER (AndGate); } | | AndGate) { UNREFERENCED_PARAMETER (AndGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOffInputToAnd(__in PKSGATE AndG | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateAddOffInputToAnd(_In_ PKSGAT |
| ate) { KsGateTurnInputOff(AndGate); } | | E AndGate) { KsGateTurnInputOff(AndGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromAnd(__in PKSGATE | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromAnd(_In_ PK |
| AndGate) { UNREFERENCED_PARAMETER (AndGate); } | | SGATE AndGate) { UNREFERENCED_PARAMETER (AndGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromAnd(__in PKSGATE | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromAnd(_In_ P |
| AndGate) { KsGateTurnInputOn(AndGate); } | | KSGATE AndGate) { KsGateTurnInputOn(AndGate); } |
| | |
|
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOnInputToOr(__in PKSGATE OrGate | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateAddOnInputToOr(_In_ PKSGATE |
| ) { KsGateTurnInputOn(OrGate); } | | OrGate) { KsGateTurnInputOn(OrGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateAddOffInputToOr(__in PKSGATE OrGat | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateAddOffInputToOr(_In_ PKSGATE |
| e) { UNREFERENCED_PARAMETER (OrGate); } | | OrGate) { UNREFERENCED_PARAMETER (OrGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromOr(__in PKSGATE O | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateRemoveOnInputFromOr(_In_ PKS |
| rGate) { KsGateTurnInputOff(OrGate); } | | GATE OrGate) { KsGateTurnInputOff(OrGate); } |
| __drv_maxIRQL(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromOr(__in PKSGATE | | _IRQL_requires_max_(HIGH_LEVEL) void __inline KsGateRemoveOffInputFromOr(_In_ PK |
| OrGate) { UNREFERENCED_PARAMETER (OrGate); } | | SGATE OrGate) { UNREFERENCED_PARAMETER (OrGate); } |
| | |
|
| __drv_maxIRQL(HIGH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICECREATE)( | | (*PFNKSDEVICECREATE)( |
|
| __in PKSDEVICE Device | | _In_ PKSDEVICE Device |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEPNPSTART)( | | (*PFNKSDEVICEPNPSTART)( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in_opt PCM_RESOURCE_LIST TranslatedResourceList, | | _In_opt_ PCM_RESOURCE_LIST TranslatedResourceList, |
| __in_opt PCM_RESOURCE_LIST UntranslatedResourceList | | _In_opt_ PCM_RESOURCE_LIST UntranslatedResourceList |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICE)( | | (*PFNKSDEVICE)( |
|
| __in PKSDEVICE Device | | _In_ PKSDEVICE Device |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEIRP)( | | (*PFNKSDEVICEIRP)( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSDEVICEIRPVOID)( | | (*PFNKSDEVICEIRPVOID)( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSDEVICEQUERYCAPABILITIES)( | | (*PFNKSDEVICEQUERYCAPABILITIES)( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __inout PDEVICE_CAPABILITIES Capabilities | | _Inout_ PDEVICE_CAPABILITIES Capabilities |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERFACTORYVOID)( | | (*PFNKSFILTERFACTORYVOID)( |
|
| __in PKSFILTERFACTORY FilterFactory | | _In_ PKSFILTERFACTORY FilterFactory |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSFILTERVOID)( | | (*PFNKSFILTERVOID)( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINIRP)( | | (*PFNKSPINIRP)( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| NTSTATUS | | NTSTATUS |
| (*PFNKSPINSETDATAFORMAT)( | | (*PFNKSPINSETDATAFORMAT)( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt PKSDATAFORMAT OldFormat, | | _In_opt_ PKSDATAFORMAT OldFormat, |
| __in_opt PKSMULTIPLE_ITEM OldAttributeList, | | _In_opt_ PKSMULTIPLE_ITEM OldAttributeList, |
| __in const KSDATARANGE* DataRange, | | _In_ const KSDATARANGE* DataRange, |
| __in_opt const KSATTRIBUTE_LIST* AttributeRange | | _In_opt_ const KSATTRIBUTE_LIST* AttributeRange |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINVOID)( | | (*PFNKSPINVOID)( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| typedef | | typedef |
| BOOLEAN | | BOOLEAN |
| (*PFNKSPINCANCELTIMER)( | | (*PFNKSPINCANCELTIMER)( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in PKTIMER Timer | | _In_ PKTIMER Timer |
| ); | | ); |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| typedef | | typedef |
| void | | void |
| (*PFNKSPINRESOLUTION)( | | (*PFNKSPINRESOLUTION)( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __out PKSRESOLUTION Resolution | | _Out_ PKSRESOLUTION Resolution |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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; |
|
| __field_bcount(PropertySetsCount * PropertyItemSize) const KSPROPERTY_SET* P
ropertySets; | | _Field_size_bytes_(PropertySetsCount * PropertyItemSize) const KSPROPERTY_SE
T* PropertySets; |
| ULONG MethodSetsCount; | | ULONG MethodSetsCount; |
| ULONG MethodItemSize; | | ULONG MethodItemSize; |
|
| __field_bcount(MethodSetsCount * MethodItemSize) const KSMETHOD_SET* MethodS
ets; | | _Field_size_bytes_(MethodSetsCount * MethodItemSize) const KSMETHOD_SET* Met
hodSets; |
| ULONG EventSetsCount; | | ULONG EventSetsCount; |
| ULONG EventItemSize; | | ULONG EventItemSize; |
|
| __field_bcount(EventSetsCount * EventItemSize) const KSEVENT_SET* EventSets; | | _Field_size_bytes_(EventSetsCount * EventItemSize) const KSEVENT_SET* EventS
ets; |
| #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 3404 | | skipping to change at line 3455 |
| // | | // |
| #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_VISTA) | | #endif // (NTDDI_VERSION >= NTDDI_VISTA) |
| | |
| struct _KSDEVICE_DESCRIPTOR { | | struct _KSDEVICE_DESCRIPTOR { |
| const KSDEVICE_DISPATCH* Dispatch; | | const KSDEVICE_DISPATCH* Dispatch; |
| ULONG FilterDescriptorsCount; | | ULONG FilterDescriptorsCount; |
|
| __field_ecount(FilterDescriptorsCount) const KSFILTER_DESCRIPTOR*const* Filt
erDescriptors; | | _Field_size_(FilterDescriptorsCount) const KSFILTER_DESCRIPTOR*const* Filter
Descriptors; |
| ULONG Version; // this is 0 for pre-version 100 driver | | ULONG Version; // this is 0 for pre-version 100 driver |
| | |
| #if (NTDDI_VERSION >= NTDDI_VISTA) | | #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; |
| | |
| skipping to change at line 3437 | | skipping to change at line 3488 |
| #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; |
|
| __field_bcount(PinDescriptorsCount * PinDescriptorSize) const KSPIN_DESCRIPT
OR_EX* PinDescriptors; | | _Field_size_bytes_(PinDescriptorsCount * PinDescriptorSize) const KSPIN_DESC
RIPTOR_EX* PinDescriptors; |
| ULONG CategoriesCount; | | ULONG CategoriesCount; |
|
| __field_ecount(CategoriesCount) | | _Field_size_(CategoriesCount) |
| const GUID* Categories; | | const GUID* Categories; |
| ULONG NodeDescriptorsCount; | | ULONG NodeDescriptorsCount; |
| ULONG NodeDescriptorSize; | | ULONG NodeDescriptorSize; |
|
| __field_bcount(NodeDescriptorsCount * NodeDescriptorSize) const KSNODE_DESCR
IPTOR* NodeDescriptors; | | _Field_size_bytes_(NodeDescriptorsCount * NodeDescriptorSize) const KSNODE_D
ESCRIPTOR* NodeDescriptors; |
| ULONG ConnectionsCount; | | ULONG ConnectionsCount; |
|
| __field_ecount(ConnectionsCount) const KSTOPOLOGY_CONNECTION* Connections; | | _Field_size_(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 3633 | | skipping to change at line 3684 |
| 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; |
|
| __field_bcount(BytesAvailable) PVOID Data; | | _Field_size_bytes_(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 { |
|
| __field_ecount(Count) PKSPROCESSPIN *Pins; | | _Field_size_(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_bcount_opt(Size) PVOID Data, | | _In_reads_bytes_opt_(Size) PVOID Data, |
| __in ULONG Size OPTIONAL, | | _In_ ULONG Size OPTIONAL, |
| __in_opt PMDL Mdl, | | _In_opt_ PMDL Mdl, |
| __in_opt PVOID Context, | | _In_opt_ PVOID Context, |
| __in NTSTATUS Status | | _In_ NTSTATUS Status |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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_ \ |
| __in REFIID InterfaceId, \ | | _In_ REFIID InterfaceId, \ |
| __deref_out PVOID* Interface \ | | _COM_Outptr_ 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_bcount(PropertyLength) PKSPROPERTY Property, | | _In_reads_bytes_(PropertyLength) PKSPROPERTY Property, |
| __in ULONG PropertyLength, | | _In_ ULONG PropertyLength, |
| __inout_bcount(DataLength) PVOID PropertyData, | | _Inout_updates_bytes_(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_bcount(MethodLength) PKSMETHOD Method, | | _In_reads_bytes_(MethodLength) PKSMETHOD Method, |
| __in ULONG MethodLength, | | _In_ ULONG MethodLength, |
| __inout_bcount(DataLength) PVOID MethodData, | | _Inout_updates_bytes_(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_bcount_opt(EventLength) PKSEVENT Event, | | _In_reads_bytes_opt_(EventLength) PKSEVENT Event, |
| __in ULONG EventLength, | | _In_ ULONG EventLength, |
| __inout_bcount(DataLength) PVOID EventData, | | _Inout_updates_bytes_(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 3824 | | skipping to change at line 3875 |
| // | | // |
| | |
| #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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsEnableEvent( | | KsEnableEvent( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG EventSetsCount, | | _In_ ULONG EventSetsCount, |
| __in_ecount(EventSetsCount) const KSEVENT_SET* EventSet, | | _In_reads_(EventSetsCount) const KSEVENT_SET* EventSet, |
| __inout_opt PLIST_ENTRY EventsList, | | _Inout_opt_ PLIST_ENTRY EventsList, |
| __in_opt KSEVENTS_LOCKTYPE EventsFlags, | | _In_opt_ KSEVENTS_LOCKTYPE EventsFlags, |
| __in_opt PVOID EventsLock | | _In_opt_ PVOID EventsLock |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsEnableEventWithAllocator( | | KsEnableEventWithAllocator( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG EventSetsCount, | | _In_ ULONG EventSetsCount, |
| __in_ecount(EventSetsCount) const KSEVENT_SET* EventSet, | | _In_reads_(EventSetsCount) const KSEVENT_SET* EventSet, |
| __inout_opt PLIST_ENTRY EventsList, | | _Inout_opt_ PLIST_ENTRY EventsList, |
| __in KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, | | _In_ KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, |
| __in_opt PVOID EventsLock, | | _In_opt_ PVOID EventsLock, |
| __in_opt PFNKSALLOCATOR Allocator, | | _In_opt_ PFNKSALLOCATOR Allocator, |
| __in_opt ULONG EventItemSize | | _In_opt_ ULONG EventItemSize |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDisableEvent( | | KsDisableEvent( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __inout 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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsDiscardEvent( | | KsDiscardEvent( |
|
| __in PKSEVENT_ENTRY EventEntry | | _In_ PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeEventList( | | KsFreeEventList( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __inout 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_bcount(DataSize) PVOID Data | | _In_reads_bytes_(DataSize) PVOID Data |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsGenerateEventList( | | KsGenerateEventList( |
|
| __in_opt GUID* Set, | | _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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPropertyHandler( | | KsPropertyHandler( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG PropertySetsCount, | | _In_ ULONG PropertySetsCount, |
| __in_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet | | _In_reads_(PropertySetsCount) const KSPROPERTY_SET* PropertySet |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPropertyHandlerWithAllocator( | | KsPropertyHandlerWithAllocator( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG PropertySetsCount, | | _In_ ULONG PropertySetsCount, |
| __in_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet, | | _In_reads_(PropertySetsCount) const KSPROPERTY_SET* PropertySet, |
| __in_opt PFNKSALLOCATOR Allocator, | | _In_opt_ PFNKSALLOCATOR Allocator, |
| __in ULONG PropertyItemSize OPTIONAL | | _In_ ULONG PropertyItemSize OPTIONAL |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsFastPropertyHandler( | | KsFastPropertyHandler( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_bcount(PropertyLength) PKSPROPERTY Property, | | _In_reads_bytes_(PropertyLength) PKSPROPERTY Property, |
| __in ULONG PropertyLength, | | _In_ ULONG PropertyLength, |
| __in_bcount(DataLength)PVOID Data, | | _In_reads_bytes_(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_ecount(PropertySetsCount) const KSPROPERTY_SET* PropertySet | | _In_reads_(PropertySetsCount) const KSPROPERTY_SET* PropertySet |
| ); | | ); |
| | |
| // method.c: | | // method.c: |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMethodHandler( | | KsMethodHandler( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG MethodSetsCount, | | _In_ ULONG MethodSetsCount, |
| __in_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet | | _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMethodHandlerWithAllocator( | | KsMethodHandlerWithAllocator( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG MethodSetsCount, | | _In_ ULONG MethodSetsCount, |
| __in_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet, | | _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet, |
| __in_opt PFNKSALLOCATOR Allocator, | | _In_opt_ PFNKSALLOCATOR Allocator, |
| __in ULONG MethodItemSize OPTIONAL | | _In_ ULONG MethodItemSize OPTIONAL |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsFastMethodHandler( | | KsFastMethodHandler( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_bcount(MethodLength) PKSMETHOD Method, | | _In_reads_bytes_(MethodLength) PKSMETHOD Method, |
| __in ULONG MethodLength, | | _In_ ULONG MethodLength, |
| __inout_bcount(DataLength) PVOID Data, | | _Inout_updates_bytes_(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_ecount(MethodSetsCount) const KSMETHOD_SET* MethodSet | | _In_reads_(MethodSetsCount) const KSMETHOD_SET* MethodSet |
| ); | | ); |
| | |
| // alloc.c: | | // alloc.c: |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultAllocator( | | KsCreateDefaultAllocator( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultAllocatorEx( | | KsCreateDefaultAllocatorEx( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in_opt PVOID InitializeContext, | | _In_opt_ PVOID InitializeContext, |
| __in_opt PFNKSDEFAULTALLOCATE DefaultAllocate, | | _In_opt_ PFNKSDEFAULTALLOCATE DefaultAllocate, |
| __in_opt PFNKSDEFAULTFREE DefaultFree, | | _In_opt_ PFNKSDEFAULTFREE DefaultFree, |
| __in_opt PFNKSINITIALIZEALLOCATOR InitializeAllocator, | | _In_opt_ PFNKSINITIALIZEALLOCATOR InitializeAllocator, |
| __in_opt PFNKSDELETEALLOCATOR DeleteAllocator | | _In_opt_ PFNKSDELETEALLOCATOR DeleteAllocator |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateDefaultClockEx( | | KsAllocateDefaultClockEx( |
|
| __out PKSDEFAULTCLOCK* DefaultClock, | | _Out_ PKSDEFAULTCLOCK* DefaultClock, |
| __in_opt PVOID Context, | | _In_opt_ PVOID Context, |
| __in_opt PFNKSSETTIMER SetTimer, | | _In_opt_ PFNKSSETTIMER SetTimer, |
| __in_opt PFNKSCANCELTIMER CancelTimer, | | _In_opt_ PFNKSCANCELTIMER CancelTimer, |
| __in_opt PFNKSCORRELATEDTIME CorrelatedTime, | | _In_opt_ PFNKSCORRELATEDTIME CorrelatedTime, |
| __in_opt const KSRESOLUTION* Resolution, | | _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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeDefaultClock( | | KsFreeDefaultClock( |
|
| __in PKSDEFAULTCLOCK DefaultClock | | _In_ PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateClockCreateRequest( | | KsValidateClockCreateRequest( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __deref_out PKSCLOCK_CREATE* ClockCreate | | _Outptr_ PKSCLOCK_CREATE* ClockCreate |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSSTATE | | KSSTATE |
| NTAPI | | NTAPI |
| KsGetDefaultClockState( | | KsGetDefaultClockState( |
|
| __in PKSDEFAULTCLOCK DefaultClock | | _In_ PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| LONGLONG | | LONGLONG |
| NTAPI | | NTAPI |
| KsGetDefaultClockTime( | | KsGetDefaultClockTime( |
|
| __in PKSDEFAULTCLOCK DefaultClock | | _In_ PKSDEFAULTCLOCK DefaultClock |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsValidateConnectRequest( | | KsValidateConnectRequest( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in ULONG DescriptorsCount, | | _In_ ULONG DescriptorsCount, |
| __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, | | _In_reads_(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, |
| __out PKSPIN_CONNECT* Connect | | _Out_ PKSPIN_CONNECT* Connect |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinPropertyHandler( | | KsPinPropertyHandler( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in PKSPROPERTY Property, | | _In_ PKSPROPERTY Property, |
| __inout PVOID Data, | | _Inout_ PVOID Data, |
| __in ULONG DescriptorsCount, | | _In_ ULONG DescriptorsCount, |
| __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor | | _In_reads_(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_opt PVOID Data, | | _Out_opt_ PVOID Data, |
| __in ULONG DescriptorsCount, | | _In_ ULONG DescriptorsCount, |
| __in_ecount(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, | | _In_reads_(DescriptorsCount) const KSPIN_DESCRIPTOR* Descriptor, |
| __in PFNKSINTERSECTHANDLER IntersectHandler | | _In_ PFNKSINTERSECTHANDLER IntersectHandler |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_bcount(DescriptorsCount * DescriptorSize) const KSPIN_DESCRIPTOR* Descr | | _In_reads_bytes_(DescriptorsCount * DescriptorSize) const KSPIN_DESCRIPTOR* |
| iptor, | | Descriptor, |
| __in ULONG DescriptorSize, | | _In_ ULONG DescriptorSize, |
| __in_opt PFNKSINTERSECTHANDLEREX IntersectHandler, | | _In_opt_ PFNKSINTERSECTHANDLEREX IntersectHandler, |
| __in_opt PVOID HandlerContext | | _In_opt_ PVOID HandlerContext |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_bcount(DataItemsCount * DataItemSize) const VOID* DataItems | | _In_reads_bytes_(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) | | _IRQL_requires_max_(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, |
| __deref_out_bcount(ResourceSize) PVOID *Resource, | | _Outptr_result_bytebuffer_(ResourceSize) PVOID *Resource, |
| __out_opt PULONG ResourceSize | | _Out_opt_ PULONG ResourceSize |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsReferenceBusObject( | | KsReferenceBusObject( |
|
| __in KSDEVICE_HEADER Header | | _In_ KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsDereferenceBusObject( | | KsDereferenceBusObject( |
|
| __in KSDEVICE_HEADER Header | | _In_ KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsReadFile( | | KsReadFile( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_opt PKEVENT Event, | | _In_opt_ PKEVENT Event, |
| __in_opt PVOID PortContext, | | _In_opt_ PVOID PortContext, |
| __out PIO_STATUS_BLOCK IoStatusBlock, | | _Out_ PIO_STATUS_BLOCK IoStatusBlock, |
| __out_bcount(Length) PVOID Buffer, | | _Out_writes_bytes_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsWriteFile( | | KsWriteFile( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_opt PKEVENT Event, | | _In_opt_ PKEVENT Event, |
| __in_opt PVOID PortContext, | | _In_opt_ PVOID PortContext, |
| __out PIO_STATUS_BLOCK IoStatusBlock, | | _Out_ PIO_STATUS_BLOCK IoStatusBlock, |
| __in_bcount(Length) PVOID Buffer, | | _In_reads_bytes_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsQueryInformationFile( | | KsQueryInformationFile( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __out_bcount(Length) PVOID FileInformation, | | _Out_writes_bytes_(Length) PVOID FileInformation, |
| __in ULONG Length, | | _In_ ULONG Length, |
| __in FILE_INFORMATION_CLASS FileInformationClass | | _In_ FILE_INFORMATION_CLASS FileInformationClass |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsSetInformationFile( | | KsSetInformationFile( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_bcount(Length) PVOID FileInformation, | | _In_reads_bytes_(Length) PVOID FileInformation, |
| __in ULONG Length, | | _In_ ULONG Length, |
| __in FILE_INFORMATION_CLASS FileInformationClass | | _In_ FILE_INFORMATION_CLASS FileInformationClass |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamIo( | | KsStreamIo( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_opt PKEVENT Event, | | _In_opt_ PKEVENT Event, |
| __in_opt PVOID PortContext, | | _In_opt_ PVOID PortContext, |
| __in_opt PIO_COMPLETION_ROUTINE CompletionRoutine, | | _In_opt_ PIO_COMPLETION_ROUTINE CompletionRoutine, |
| __in_opt PVOID CompletionContext, | | _In_opt_ PVOID CompletionContext, |
| __in KSCOMPLETION_INVOCATION CompletionInvocationFlags OPTIONAL, | | _In_ KSCOMPLETION_INVOCATION CompletionInvocationFlags OPTIONAL, |
| __out PIO_STATUS_BLOCK IoStatusBlock, | | _Out_ PIO_STATUS_BLOCK IoStatusBlock, |
| __inout_bcount(Length) PVOID StreamHeaders, | | _Inout_updates_bytes_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsProbeStreamIrp( | | KsProbeStreamIrp( |
|
| __inout PIRP Irp, | | _Inout_ PIRP Irp, |
| __in ULONG ProbeFlags, | | _In_ ULONG ProbeFlags, |
| __in ULONG HeaderSize OPTIONAL | | _In_ ULONG HeaderSize OPTIONAL |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAllocateExtraData( | | KsAllocateExtraData( |
|
| __inout PIRP Irp, | | _Inout_ PIRP Irp, |
| __in ULONG ExtraSize, | | _In_ ULONG ExtraSize, |
| __out PVOID* ExtraBuffer | | _Out_ PVOID* ExtraBuffer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsNullDriverUnload( | | KsNullDriverUnload( |
|
| __in PDRIVER_OBJECT DriverObject | | _In_ PDRIVER_OBJECT DriverObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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_bcount_opt(InputBufferLength) PVOID InputBuffer, | | _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, |
| __in ULONG InputBufferLength, | | _In_ ULONG InputBufferLength, |
| __out_bcount_opt(OutputBufferLength) PVOID OutputBuffer, | | _Out_writes_bytes_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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| DRIVER_CANCEL KsCancelRoutine; | | DRIVER_CANCEL KsCancelRoutine; |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsCancelIo( | | KsCancelIo( |
|
| __inout PLIST_ENTRY QueueHead, | | _Inout_ PLIST_ENTRY QueueHead, |
| __in PKSPIN_LOCK SpinLock | | _In_ PKSPIN_LOCK SpinLock |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsReleaseIrpOnCancelableQueue( | | KsReleaseIrpOnCancelableQueue( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in_opt PDRIVER_CANCEL DriverCancel | | _In_opt_ PDRIVER_CANCEL DriverCancel |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PIRP | | PIRP |
| NTAPI | | NTAPI |
| KsRemoveIrpFromCancelableQueue( | | KsRemoveIrpFromCancelableQueue( |
|
| __inout 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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMoveIrpsOnCancelableQueue( | | KsMoveIrpsOnCancelableQueue( |
|
| __inout PLIST_ENTRY SourceList, | | _Inout_ PLIST_ENTRY SourceList, |
| __in PKSPIN_LOCK SourceLock, | | _In_ PKSPIN_LOCK SourceLock, |
| __inout PLIST_ENTRY DestinationList, | | _Inout_ PLIST_ENTRY DestinationList, |
| __in_opt PKSPIN_LOCK DestinationLock, | | _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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsRemoveSpecificIrpFromCancelableQueue( | | KsRemoveSpecificIrpFromCancelableQueue( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsAddIrpToCancelableQueue( | | KsAddIrpToCancelableQueue( |
|
| __inout 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_opt PDRIVER_CANCEL DriverCancel | | _In_opt_ PDRIVER_CANCEL DriverCancel |
| ); | | ); |
| | |
| // api.c: | | // api.c: |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsTopologyPropertyHandler( | | KsTopologyPropertyHandler( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in PKSPROPERTY Property, | | _In_ PKSPROPERTY Property, |
| __inout PVOID Data, | | _Inout_ PVOID Data, |
| __in const KSTOPOLOGY* Topology | | _In_ const KSTOPOLOGY* Topology |
| ); | | ); |
| | |
|
| __drv_maxIRQL(APC_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsReleaseDeviceSecurityLock( | | KsReleaseDeviceSecurityLock( |
|
| __in KSDEVICE_HEADER Header | | _In_ KSDEVICE_HEADER Header |
| ); | | ); |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| __drv_dispatchType(IRP_MJ_PNP) DRIVER_DISPATCH KsDefaultDispatchPnp; | | _Dispatch_type_(IRP_MJ_PNP) DRIVER_DISPATCH KsDefaultDispatchPnp; |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| __drv_dispatchType(IRP_MJ_POWER) DRIVER_DISPATCH KsDefaultDispatchPower; | | _Dispatch_type_(IRP_MJ_POWER) DRIVER_DISPATCH KsDefaultDispatchPower; |
| | |
| KSDDKAPI | | KSDDKAPI |
|
| __drv_dispatchType(IRP_MJ_SYSTEM_CONTROL) | | _Dispatch_type_(IRP_MJ_SYSTEM_CONTROL) |
| __drv_dispatchType(IRP_MJ_DEVICE_CONTROL) | | _Dispatch_type_(IRP_MJ_DEVICE_CONTROL) |
| DRIVER_DISPATCH KsDefaultForwardIrp; | | DRIVER_DISPATCH KsDefaultForwardIrp; |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PDEVICE_OBJECT | | PDEVICE_OBJECT |
| NTAPI | | NTAPI |
| KsQueryDevicePnpObject( | | KsQueryDevicePnpObject( |
|
| __in KSDEVICE_HEADER Header | | _In_ KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ACCESS_MASK | | ACCESS_MASK |
| NTAPI | | NTAPI |
| KsQueryObjectAccessMask( | | KsQueryObjectAccessMask( |
|
| __in KSOBJECT_HEADER Header | | _In_ KSOBJECT_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetTargetDeviceObject( | | KsSetTargetDeviceObject( |
|
| __in KSOBJECT_HEADER Header, | | _In_ KSOBJECT_HEADER Header, |
| __in_opt PDEVICE_OBJECT TargetDevice | | _In_opt_ PDEVICE_OBJECT TargetDevice |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsSetPowerDispatch( | | KsSetPowerDispatch( |
|
| __in KSOBJECT_HEADER Header, | | _In_ KSOBJECT_HEADER Header, |
| __in_opt PFNKSCONTEXT_DISPATCH PowerDispatch, | | _In_opt_ PFNKSCONTEXT_DISPATCH PowerDispatch, |
| __in_opt PVOID PowerContext | | _In_opt_ PVOID PowerContext |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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_ecount_opt(ItemsCount) PKSOBJECT_CREATE_ITEM ItemsList | | _In_reads_opt_(ItemsCount) PKSOBJECT_CREATE_ITEM ItemsList |
| ); | | ); |
| | |
|
| __drv_maxIRQL(APC_LEVEL) | | _IRQL_requires_max_(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeDeviceHeader( | | KsFreeDeviceHeader( |
|
| __in KSDEVICE_HEADER Header | | _In_ KSDEVICE_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(APC_LEVEL) | | _IRQL_requires_max_(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_ecount_opt(ItemsCount) PKSOBJECT_CREATE_ITEM ItemsList, | | _In_reads_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) | | _IRQL_requires_max_(APC_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsFreeObjectHeader( | | KsFreeObjectHeader( |
|
| __in KSOBJECT_HEADER Header | | _In_ KSOBJECT_HEADER Header |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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_opt PFNKSITEMFREECALLBACK ItemFreeCallback | | _In_opt_ PFNKSITEMFREECALLBACK ItemFreeCallback |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsCreateDefaultSecurity( | | KsCreateDefaultSecurity( |
|
| __in_opt PSECURITY_DESCRIPTOR ParentSecurity, | | _In_opt_ PSECURITY_DESCRIPTOR ParentSecurity, |
| __out PSECURITY_DESCRIPTOR* DefaultSecurity | | _Out_ PSECURITY_DESCRIPTOR* DefaultSecurity |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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 | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_bcount(InSize) PVOID InBuffer, | | _In_reads_bytes_(InSize) PVOID InBuffer, |
| __in ULONG InSize, | | _In_ ULONG InSize, |
| __out_bcount_part(OutSize, *BytesReturned) PVOID OutBuffer, | | _Out_writes_bytes_to_(OutSize, *BytesReturned) PVOID OutBuffer, |
| __in ULONG OutSize, | | _In_ ULONG OutSize, |
| __out PULONG BytesReturned | | _Out_ PULONG BytesReturned |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsUnserializeObjectPropertiesFromRegistry( | | KsUnserializeObjectPropertiesFromRegistry( |
|
| __in PFILE_OBJECT FileObject, | | _In_ PFILE_OBJECT FileObject, |
| __in_opt HANDLE ParentKey, | | _In_opt_ HANDLE ParentKey, |
| __in_opt PUNICODE_STRING RegistryPath | | _In_opt_ PUNICODE_STRING RegistryPath |
| ); | | ); |
| | |
| #if (NTDDI_VERSION >= NTDDI_WINXP) | | #if (NTDDI_VERSION >= NTDDI_WINXP) |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| VOID | | VOID |
| NTAPI | | NTAPI |
| KsUnregisterWorker( | | KsUnregisterWorker( |
|
| __in PKSWORKER Worker | | _In_ PKSWORKER Worker |
| ); | | ); |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsIncrementCountedWorker( | | KsIncrementCountedWorker( |
|
| __in PKSWORKER Worker | | _In_ PKSWORKER Worker |
| ); | | ); |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDecrementCountedWorker( | | KsDecrementCountedWorker( |
|
| __in PKSWORKER Worker | | _In_ PKSWORKER Worker |
| ); | | ); |
| | |
| // topology.c: | | // topology.c: |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsMergeAutomationTables( | | KsMergeAutomationTables( |
|
| __out PKSAUTOMATION_TABLE* AutomationTableAB, | | _Out_ PKSAUTOMATION_TABLE* AutomationTableAB, |
| __in_opt PKSAUTOMATION_TABLE AutomationTableA, | | _In_opt_ PKSAUTOMATION_TABLE AutomationTableA, |
| __in_opt PKSAUTOMATION_TABLE AutomationTableB, | | _In_opt_ PKSAUTOMATION_TABLE AutomationTableB, |
| __in_opt KSOBJECT_BAG Bag | | _In_opt_ KSOBJECT_BAG Bag |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_opt const KSDEVICE_DESCRIPTOR* Descriptor | | _In_opt_ const KSDEVICE_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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_opt const KSDEVICE_DESCRIPTOR* Descriptor, | | _In_opt_ const KSDEVICE_DESCRIPTOR* Descriptor, |
| __in ULONG ExtensionSize, | | _In_ ULONG ExtensionSize, |
| __out_opt PKSDEVICE* Device | | _Out_opt_ PKSDEVICE* Device |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_opt const KSDEVICE_DESCRIPTOR* Descriptor | | _In_opt_ const KSDEVICE_DESCRIPTOR* Descriptor |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsTerminateDevice( | | KsTerminateDevice( |
|
| __in PDEVICE_OBJECT DeviceObject | | _In_ PDEVICE_OBJECT DeviceObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSDEVICE | | PKSDEVICE |
| NTAPI | | NTAPI |
| KsGetDeviceForDeviceObject( | | KsGetDeviceForDeviceObject( |
|
| __in PDEVICE_OBJECT FunctionalDeviceObject | | _In_ PDEVICE_OBJECT FunctionalDeviceObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsAcquireDevice( | | KsAcquireDevice( |
|
| __in PKSDEVICE Device | | _In_ PKSDEVICE Device |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsReleaseDevice( | | KsReleaseDevice( |
|
| __in PKSDEVICE Device | | _In_ PKSDEVICE Device |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDeviceGetBusData( | | KsDeviceGetBusData( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in ULONG DataType, | | _In_ ULONG DataType, |
| __in_bcount(Length) PVOID Buffer, | | _In_reads_bytes_(Length) PVOID Buffer, |
| __in ULONG Offset, | | _In_ ULONG Offset, |
| __in ULONG Length | | _In_ ULONG Length |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsDeviceSetBusData( | | KsDeviceSetBusData( |
|
| __in PKSDEVICE Device, | | _In_ PKSDEVICE Device, |
| __in ULONG DataType, | | _In_ ULONG DataType, |
| __in_bcount(Length) PVOID Buffer, | | _In_reads_bytes_(Length) PVOID Buffer, |
| __in ULONG Offset, | | _In_ ULONG Offset, |
| __in ULONG Length | | _In_ ULONG Length |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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, | | _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 | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterFactoryUpdateCacheData( | | KsFilterFactoryUpdateCacheData( |
|
| __in PKSFILTERFACTORY FilterFactory, | | _In_ PKSFILTERFACTORY FilterFactory, |
| __in_opt const KSFILTER_DESCRIPTOR *FilterDescriptor | | _In_opt_ const KSFILTER_DESCRIPTOR *FilterDescriptor |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PUNICODE_STRING | | PUNICODE_STRING |
| NTAPI | | NTAPI |
| KsFilterFactoryGetSymbolicLink( | | KsFilterFactoryGetSymbolicLink( |
|
| __in PKSFILTERFACTORY FilterFactory | | _In_ PKSFILTERFACTORY FilterFactory |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsDefaultAddEventHandler( | | KsDefaultAddEventHandler( |
|
| __in PIRP Irp, | | _In_ PIRP Irp, |
| __in PKSEVENTDATA EventData, | | _In_ PKSEVENTDATA EventData, |
| __inout PKSEVENT_ENTRY EventEntry | | _Inout_ PKSEVENT_ENTRY EventEntry |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsGenerateEvents( | | KsGenerateEvents( |
|
| __in PVOID Object, | | _In_ PVOID Object, |
| __in_opt const GUID* EventSet, | | _In_opt_ const GUID* EventSet, |
| __in ULONG EventId, | | _In_ ULONG EventId, |
| __in ULONG DataSize, | | _In_ ULONG DataSize, |
| __in_bcount_opt(DataSize) PVOID Data, | | _In_reads_bytes_opt_(DataSize) PVOID Data, |
| __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, | | _In_opt_ PFNKSGENERATEEVENTCALLBACK CallBack, |
| __in_opt PVOID CallBackContext | | _In_opt_ PVOID CallBackContext |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| void _inline | | void _inline |
| KsFilterGenerateEvents( | | KsFilterGenerateEvents( |
|
| __in PKSFILTER Filter, | | _In_ PKSFILTER Filter, |
| __in_opt const GUID* EventSet, | | _In_opt_ const GUID* EventSet, |
| __in ULONG EventId, | | _In_ ULONG EventId, |
| __in ULONG DataSize, | | _In_ ULONG DataSize, |
| __in_bcount(DataSize) PVOID Data, | | _In_reads_bytes_(DataSize) PVOID Data, |
| __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, | | _In_opt_ PFNKSGENERATEEVENTCALLBACK CallBack, |
| __in_opt PVOID CallBackContext | | _In_opt_ PVOID CallBackContext |
| ) | | ) |
| { | | { |
| KsGenerateEvents( | | KsGenerateEvents( |
| Filter, | | Filter, |
| EventSet, | | EventSet, |
| EventId, | | EventId, |
| DataSize, | | DataSize, |
| Data, | | Data, |
| CallBack, | | CallBack, |
| CallBackContext); | | CallBackContext); |
| } | | } |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| void _inline | | void _inline |
| KsPinGenerateEvents( | | KsPinGenerateEvents( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt const GUID* EventSet, | | _In_opt_ const GUID* EventSet, |
| __in ULONG EventId, | | _In_ ULONG EventId, |
| __in ULONG DataSize, | | _In_ ULONG DataSize, |
| __in_bcount_opt(DataSize) PVOID Data, | | _In_reads_bytes_opt_(DataSize) PVOID Data, |
| __in_opt PFNKSGENERATEEVENTCALLBACK CallBack, | | _In_opt_ PFNKSGENERATEEVENTCALLBACK CallBack, |
| __in_opt PVOID CallBackContext | | _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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinGetAvailableByteCount( | | KsPinGetAvailableByteCount( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __out_opt PLONG InputDataBytes, | | _Out_opt_ PLONG InputDataBytes, |
| __out_opt PLONG OutputBufferBytes | | _Out_opt_ PLONG OutputBufferBytes |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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 | | _Must_inspect_result_ |
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerLock( | | KsStreamPointerLock( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerDelete( | | KsStreamPointerDelete( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerClone( | | KsStreamPointerClone( |
|
| __in PKSSTREAM_POINTER StreamPointer, | | _In_ PKSSTREAM_POINTER StreamPointer, |
| __in_opt PFNKSSTREAMPOINTER CancelCallback, | | _In_opt_ PFNKSSTREAMPOINTER CancelCallback, |
| __in ULONG ContextSize, | | _In_ ULONG ContextSize, |
| __out PKSSTREAM_POINTER* CloneStreamPointer | | _Out_ PKSSTREAM_POINTER* CloneStreamPointer |
| ); | | ); |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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 | | _Must_inspect_result_ |
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsStreamPointerAdvance( | | KsStreamPointerAdvance( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PMDL | | PMDL |
| NTAPI | | NTAPI |
| KsStreamPointerGetMdl( | | KsStreamPointerGetMdl( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PIRP | | PIRP |
| NTAPI | | NTAPI |
| KsStreamPointerGetIrp( | | KsStreamPointerGetIrp( |
|
| __in PKSSTREAM_POINTER StreamPointer, | | _In_ PKSSTREAM_POINTER StreamPointer, |
| __out_opt PBOOLEAN FirstFrameInIrp, | | _Out_opt_ PBOOLEAN FirstFrameInIrp, |
| __out_opt PBOOLEAN LastFrameInIrp | | _Out_opt_ PBOOLEAN LastFrameInIrp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsStreamPointerCancelTimeout( | | KsStreamPointerCancelTimeout( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsPinGetFirstCloneStreamPointer( | | KsPinGetFirstCloneStreamPointer( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSSTREAM_POINTER | | PKSSTREAM_POINTER |
| NTAPI | | NTAPI |
| KsStreamPointerGetNextClone( | | KsStreamPointerGetNextClone( |
|
| __in PKSSTREAM_POINTER StreamPointer | | _In_ PKSSTREAM_POINTER StreamPointer |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsCompletePendingRequest( | | KsCompletePendingRequest( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSOBJECTTYPE | | KSOBJECTTYPE |
| NTAPI | | NTAPI |
| KsGetObjectTypeFromIrp( | | KsGetObjectTypeFromIrp( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetObjectFromFileObject( | | KsGetObjectFromFileObject( |
|
| __in PFILE_OBJECT FileObject | | _In_ PFILE_OBJECT FileObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| KSOBJECTTYPE | | KSOBJECTTYPE |
| NTAPI | | NTAPI |
| KsGetObjectTypeFromFileObject( | | KsGetObjectTypeFromFileObject( |
|
| __in PFILE_OBJECT FileObject | | _In_ PFILE_OBJECT FileObject |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSGATE | | PKSGATE |
| NTAPI | | NTAPI |
| KsFilterGetAndGate( | | KsFilterGetAndGate( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterAcquireProcessingMutex( | | KsFilterAcquireProcessingMutex( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterReleaseProcessingMutex( | | KsFilterReleaseProcessingMutex( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSGATE | | PKSGATE |
| NTAPI | | NTAPI |
| KsPinGetAndGate( | | KsPinGetAndGate( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAttachAndGate( | | KsPinAttachAndGate( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt PKSGATE AndGate | | _In_opt_ PKSGATE AndGate |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAttachOrGate( | | KsPinAttachOrGate( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt PKSGATE OrGate | | _In_opt_ PKSGATE OrGate |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinAcquireProcessingMutex( | | KsPinAcquireProcessingMutex( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinReleaseProcessingMutex( | | KsPinReleaseProcessingMutex( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| BOOLEAN | | BOOLEAN |
| NTAPI | | NTAPI |
| KsProcessPinUpdate( | | KsProcessPinUpdate( |
|
| __in PKSPROCESSPIN ProcessPin | | _In_ PKSPROCESSPIN ProcessPin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetParent( | | KsGetParent( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSFILTER | | PKSFILTER |
| NTAPI | | NTAPI |
| KsPinGetParentFilter( | | KsPinGetParentFilter( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetFirstChild( | | KsGetFirstChild( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PVOID | | PVOID |
| NTAPI | | NTAPI |
| KsGetNextSibling( | | KsGetNextSibling( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSPIN | | PKSPIN |
| NTAPI | | NTAPI |
| KsPinGetNextSiblingPin( | | KsPinGetNextSiblingPin( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSDEVICE | | PKSDEVICE |
| NTAPI | | NTAPI |
| KsGetDevice( | | KsGetDevice( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSFILTER | | PKSFILTER |
| NTAPI | | NTAPI |
| KsGetFilterFromIrp( | | KsGetFilterFromIrp( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PKSPIN | | PKSPIN |
| NTAPI | | NTAPI |
| KsGetPinFromIrp( | | KsGetPinFromIrp( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| ULONG | | ULONG |
| NTAPI | | NTAPI |
| KsGetNodeIdFromIrp( | | KsGetNodeIdFromIrp( |
|
| __in PIRP Irp | | _In_ PIRP Irp |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsAcquireControl( | | KsAcquireControl( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsReleaseControl( | | KsReleaseControl( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsFilterAcquireControl( | | KsFilterAcquireControl( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ) | | ) |
| { | | { |
| KsAcquireControl((PVOID) Filter); | | KsAcquireControl((PVOID) Filter); |
| } | | } |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsFilterReleaseControl( | | KsFilterReleaseControl( |
|
| __in PKSFILTER Filter | | _In_ PKSFILTER Filter |
| ) | | ) |
| { | | { |
| KsReleaseControl((PVOID) Filter); | | KsReleaseControl((PVOID) Filter); |
| } | | } |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsPinAcquireControl( | | KsPinAcquireControl( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ) | | ) |
| { | | { |
| KsAcquireControl((PVOID) Pin); | | KsAcquireControl((PVOID) Pin); |
| } | | } |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| void __inline | | void __inline |
| KsPinReleaseControl( | | KsPinReleaseControl( |
|
| __in PKSPIN Pin | | _In_ PKSPIN Pin |
| ) | | ) |
| { | | { |
| KsReleaseControl((PVOID) Pin); | | KsReleaseControl((PVOID) Pin); |
| } | | } |
| | |
|
| __checkReturn | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsAddItemToObjectBag( | | KsAddItemToObjectBag( |
|
| __in KSOBJECT_BAG ObjectBag, | | _In_ KSOBJECT_BAG ObjectBag, |
| __in __drv_aliasesMem PVOID Item, | | _In_ __drv_aliasesMem PVOID Item, |
| __in_opt PFNKSFREE Free | | _In_opt_ PFNKSFREE Free |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFreeObjectBag( | | KsFreeObjectBag( |
|
| __in KSOBJECT_BAG ObjectBag | | _In_ KSOBJECT_BAG ObjectBag |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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 | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| _KsEdit( | | _KsEdit( |
|
| __in KSOBJECT_BAG ObjectBag, | | _In_ KSOBJECT_BAG ObjectBag, |
| __inout 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 | | _Must_inspect_result_ |
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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_ecount(PinCount) BOOL * PinDirection, | | _In_reads_(PinCount) BOOL * PinDirection, |
| __in_ecount(PinCount) KSPIN_MEDIUM * Mediu | | _In_reads_(PinCount) KSPIN_MEDIUM * Medium |
| mList, | | List, |
| __in_ecount_opt(PinCount) GUID * CategoryL | | _In_reads_opt_(PinCount) GUID * CategoryLi |
| ist | | st |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsFilterAddTopologyConnections ( | | KsFilterAddTopologyConnections ( |
|
| __in PKSFILTER Filter, | | _In_ PKSFILTER Filter, |
| __in ULONG NewConnectionsCount, | | _In_ ULONG NewConnectionsCount, |
| __in_ecount(NewConnectionsCount) const KSTOPOLOGY_CONNECTION *const NewTopol | | _In_reads_(NewConnectionsCount) const KSTOPOLOGY_CONNECTION *const NewTopolo |
| ogyConnections | | gyConnections |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinSubmitFrame( | | KsPinSubmitFrame( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_bcount_opt(Size) PVOID Data, | | _In_reads_bytes_opt_(Size) PVOID Data, |
| __in ULONG Size OPTIONAL, | | _In_ ULONG Size OPTIONAL, |
| __in_opt PKSSTREAM_HEADER StreamHeader, | | _In_opt_ PKSSTREAM_HEADER StreamHeader, |
| __in_opt PVOID Context | | _In_opt_ PVOID Context |
| ); | | ); |
| | |
|
| __drv_maxIRQL(DISPATCH_LEVEL) | | _IRQL_requires_max_(DISPATCH_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| NTSTATUS | | NTSTATUS |
| NTAPI | | NTAPI |
| KsPinSubmitFrameMdl( | | KsPinSubmitFrameMdl( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt PMDL Mdl, | | _In_opt_ PMDL Mdl, |
| __in_opt PKSSTREAM_HEADER StreamHeader, | | _In_opt_ PKSSTREAM_HEADER StreamHeader, |
| __in_opt PVOID Context | | _In_opt_ PVOID Context |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsFilterRegisterPowerCallbacks( | | KsFilterRegisterPowerCallbacks( |
|
| __in PKSFILTER Filter, | | _In_ PKSFILTER Filter, |
| __in_opt PFNKSFILTERPOWER Sleep, | | _In_opt_ PFNKSFILTERPOWER Sleep, |
| __in_opt PFNKSFILTERPOWER Wake | | _In_opt_ PFNKSFILTERPOWER Wake |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| void | | void |
| NTAPI | | NTAPI |
| KsPinRegisterPowerCallbacks( | | KsPinRegisterPowerCallbacks( |
|
| __in PKSPIN Pin, | | _In_ PKSPIN Pin, |
| __in_opt PFNKSPINPOWER Sleep, | | _In_opt_ PFNKSPINPOWER Sleep, |
| __in_opt PFNKSPINPOWER Wake | | _In_opt_ PFNKSPINPOWER Wake |
| ); | | ); |
| | |
| #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) | | #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(PASSIVE_LEVEL) |
| KSDDKAPI | | KSDDKAPI |
| PUNKNOWN | | PUNKNOWN |
| NTAPI | | NTAPI |
| KsGetOuterUnknown( | | KsGetOuterUnknown( |
|
| __in PVOID Object | | _In_ PVOID Object |
| ); | | ); |
| | |
|
| __drv_maxIRQL(PASSIVE_LEVEL) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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) | | _IRQL_requires_max_(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 |
| | ); |
| | |
| | // |
| | // KS create function that needs to be called after initializing COM |
| | // |
| | _IRQL_requires_max_(PASSIVE_LEVEL) |
| | KSDDKAPI |
| | HRESULT |
| | WINAPI |
| | KsCreateAllocator2( |
| | _In_ HANDLE ConnectionHandle, |
| | _In_ PKSALLOCATOR_FRAMING AllocatorFraming, |
| | _Out_ PHANDLE AllocatorHandle |
| | ); |
| | |
| | _IRQL_requires_max_(PASSIVE_LEVEL) |
| | KSDDKAPI |
| | HRESULT |
| | NTAPI |
| | KsCreateClock2( |
| | _In_ HANDLE ConnectionHandle, |
| | _In_ PKSCLOCK_CREATE ClockCreate, |
| | _Out_ PHANDLE ClockHandle |
| | ); |
| | |
| | _IRQL_requires_max_(PASSIVE_LEVEL) |
| | KSDDKAPI |
| | HRESULT |
| | WINAPI |
| | KsCreatePin2( |
| | _In_ HANDLE FilterHandle, |
| | _In_ PKSPIN_CONNECT Connect, |
| | _In_ ACCESS_MASK DesiredAccess, |
| | _Out_ PHANDLE ConnectionHandle |
| | ); |
| | |
| | _IRQL_requires_max_(PASSIVE_LEVEL) |
| | KSDDKAPI |
| | HRESULT |
| | WINAPI |
| | KsCreateTopologyNode2( |
| | _In_ HANDLE ParentHandle, |
| | _In_ PKSNODE_CREATE NodeCreate, |
| | _In_ ACCESS_MASK DesiredAccess, |
| | _Out_ PHANDLE NodeHandle |
| ); | | ); |
| | |
| #endif | | #endif |
| | |
| #endif // !defined(_NTDDK_) | | #endif // !defined(_NTDDK_) |
| | |
| #if defined(__cplusplus) | | #if defined(__cplusplus) |
| } | | } |
| #endif // defined(__cplusplus) | | #endif // defined(__cplusplus) |
| | |
| #define DENY_USERMODE_ACCESS( pIrp, CompleteRequest ) \ | | #define DENY_USERMODE_ACCESS( pIrp, CompleteRequest ) \ |
| if ( pIrp->RequestorMode != KernelMode ) { \ | | if ( pIrp->RequestorMode != KernelMode ) { \ |
| pIrp->IoStatus.Information = 0; \ | | pIrp->IoStatus.Information = 0; \ |
| pIrp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST; \ | | pIrp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST; \ |
| if ( CompleteRequest ) IoCompleteRequest ( pIrp, IO_NO_INCREMENT ); \ | | if ( CompleteRequest ) IoCompleteRequest ( pIrp, IO_NO_INCREMENT ); \ |
| return STATUS_INVALID_DEVICE_REQUEST; \ | | return STATUS_INVALID_DEVICE_REQUEST; \ |
| } | | } |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #endif // !_KS_ | | #endif // !_KS_ |
| | |
| End of changes. 611 change blocks. |
| 1130 lines changed or deleted | | 1232 lines changed or added |
|