7 #define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
8 #define TAG_KSDEVICE TAG('K', 'S', 'E', 'D')
9 #define TAG_KSOBJECT_TAG TAG('K', 'S', 'O', 'H')
14 IN HANDLE ParentHandle
,
16 PVOID CreateParameters
,
17 UINT CreateParametersSize
,
18 IN ACCESS_MASK DesiredAccess
,
19 OUT PHANDLE NodeHandle
);
23 KspCreateFilterFactory(
24 IN PDEVICE_OBJECT DeviceObject
,
25 IN
const KSFILTER_DESCRIPTOR
*Descriptor
,
26 IN PWSTR RefString OPTIONAL
,
27 IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL
,
28 IN ULONG CreateItemFlags
,
29 IN PFNKSFILTERFACTORYPOWER SleepCallback OPTIONAL
,
30 IN PFNKSFILTERFACTORYPOWER WakeCallback OPTIONAL
,
31 OUT PKSFILTERFACTORY
*FilterFactory OPTIONAL
);
36 IN PDEVICE_OBJECT DeviceObject
,
42 IN PDEVICE_OBJECT DeviceObject
,
48 IN PDEVICE_OBJECT DeviceObject
,
54 IN PDEVICE_OBJECT DeviceObject
,
56 IN IKsFilterFactory
*iface
);
59 KspSetDeviceInterfacesState(
60 IN PLIST_ENTRY ListHead
,
64 KspFreeDeviceInterfaces(
65 IN PLIST_ENTRY ListHead
);
68 KspRegisterDeviceInterfaces(
69 IN PDEVICE_OBJECT PhysicalDeviceObject
,
70 IN ULONG CategoriesCount
,
71 IN GUID
const*Categories
,
72 IN PUNICODE_STRING ReferenceString
,
73 OUT PLIST_ENTRY SymbolicLinkList
);
76 KspForwardIrpSynchronous(
77 IN PDEVICE_OBJECT DeviceObject
,
82 IN POOL_TYPE PoolType
,
83 IN SIZE_T NumberOfBytes
);
91 KspTopologyPropertyHandler(
93 IN PKSIDENTIFIER Request
,
98 KspPinPropertyHandler(
100 IN PKSIDENTIFIER Request
,
104 FindMatchingCreateItem(
105 PLIST_ENTRY ListHead
,
108 OUT PCREATE_ITEM_ENTRY
*OutCreateItem
);
111 KspCopyCreateRequest(
113 IN LPWSTR ObjectClass
,
119 IN PDEVICE_OBJECT DeviceObject
,
121 IN PKSDEVICE KsDevice
,
122 IN IKsFilterFactory
* FilterFactory
,
123 IN IKsFilter
* Filter
,
124 IN PKSPIN_CONNECT Connect
,
125 IN KSPIN_DESCRIPTOR_EX
* Descriptor
);
128 KspAddCreateItemToList(
129 OUT PLIST_ENTRY ListHead
,
131 IN PKSOBJECT_CREATE_ITEM ItemsList
);
135 IN PLIST_ENTRY ListHead
);