#endif
-typedef struct {
+typedef struct
+{
ULONG Size;
ULONG Count;
} KSMULTIPLE_ITEM, *PKSMULTIPLE_ITEM;
};
} KSPIN_DESCRIPTOR, *PKSPIN_DESCRIPTOR;
-/* TODO */
-/* This is just to shut the compiler up so DON'T USE IT! */
-typedef void (*PFNKSINTERSECTHANDLER)(void);
-typedef void (*PFNKSINTERSECTHANDLEREX)(void);
+typedef
+NTSTATUS
+(*PFNKSINTERSECTHANDLER)(
+ IN PIRP Irp,
+ IN PKSP_PIN Pin,
+ IN PKSDATARANGE DataRange,
+ OUT PVOID Data OPTIONAL
+ );
+
+typedef
+NTSTATUS
+(*PFNKSINTERSECTHANDLEREX)(
+ IN PVOID Context,
+ IN PIRP Irp,
+ IN PKSP_PIN Pin,
+ IN PKSDATARANGE DataRange,
+ IN PKSDATARANGE MatchingDataRange,
+ IN ULONG DataBufferSize,
+ OUT PVOID Data OPTIONAL,
+ OUT PULONG DataSize
+ );
typedef struct
{
KSDDKAPI NTSTATUS NTAPI
KsPinDataIntersection(
IN PIRP Irp,
- IN PKSPIN Pin,
+ IN PKSP_PIN Pin,
OUT PVOID Data,
IN ULONG DescriptorsCount,
IN const KSPIN_DESCRIPTOR* Descriptor,