- Implement KsCreateAllocator, KsRegisterWorker, KsUnregisterWorker, KsRegisterCounte...
[reactos.git] / reactos / drivers / ksfilter / ks / allocators.c
1 /* ===============================================================
2 Allocator Functions
3 */
4
5 #include <ntddk.h>
6 #include <debug.h>
7 #include <ks.h>
8
9 /*
10 @unimplemented
11 */
12 KSDDKAPI NTSTATUS NTAPI
13 KsCreateAllocator(
14 IN HANDLE ConnectionHandle,
15 IN PKSALLOCATOR_FRAMING AllocatorFraming,
16 OUT PHANDLE AllocatorHandle)
17 {
18 UNIMPLEMENTED;
19 return STATUS_UNSUCCESSFUL;
20 }
21
22 /*
23 @implemented
24 */
25 KSDDKAPI NTSTATUS NTAPI
26 KsCreateDefaultAllocator(
27 IN PIRP Irp)
28 {
29 return KsCreateDefaultAllocatorEx(Irp, NULL, NULL, NULL, NULL, NULL);
30 }
31
32 /*
33 @unimplemented
34 */
35 KSDDKAPI NTSTATUS NTAPI
36 KsValidateAllocatorCreateRequest(
37 IN PIRP Irp,
38 OUT PKSALLOCATOR_FRAMING* AllocatorFraming)
39 {
40 UNIMPLEMENTED;
41 return STATUS_UNSUCCESSFUL;
42 }
43
44 /*
45 @unimplemented
46 */
47 KSDDKAPI NTSTATUS NTAPI
48 KsCreateDefaultAllocatorEx(
49 IN PIRP Irp,
50 IN PVOID InitializeContext OPTIONAL,
51 IN PFNKSDEFAULTALLOCATE DefaultAllocate OPTIONAL,
52 IN PFNKSDEFAULTFREE DefaultFree OPTIONAL,
53 IN PFNKSINITIALIZEALLOCATOR InitializeAllocator OPTIONAL,
54 IN PFNKSDELETEALLOCATOR DeleteAllocator OPTIONAL)
55 {
56 NTSTATUS Status;
57 PKSALLOCATOR_FRAMING AllocatorFraming;
58
59 Status = KsValidateAllocatorCreateRequest(Irp, &AllocatorFraming);
60 if (!NT_SUCCESS(Status))
61 return STATUS_INVALID_PARAMETER;
62
63
64 return STATUS_UNSUCCESSFUL;
65 }
66
67 /*
68 @unimplemented
69 */
70 KSDDKAPI NTSTATUS NTAPI
71 KsValidateAllocatorFramingEx(
72 IN PKSALLOCATOR_FRAMING_EX Framing,
73 IN ULONG BufferSize,
74 IN const KSALLOCATOR_FRAMING_EX* PinFraming)
75 {
76 UNIMPLEMENTED;
77 return STATUS_UNSUCCESSFUL;
78 }