Implement KsCreateAllocator, KsCreateClock, KsCreatePin, KsCreateTopologyNode
[reactos.git] / reactos / dll / directx / ksuser / ksuser.c
1
2
3 #include "ksuser.h"
4
5 NTSTATUS NTAPI KsiCreateObjectType( HANDLE hHandle, PVOID guidstr, PVOID Buffer, ULONG BufferSize, ACCESS_MASK DesiredAccess, PHANDLE phHandle);
6
7 NTSTATUS
8 NTAPI
9 KsiCreateObjectType( HANDLE hHandle,
10 PVOID IID,
11 PVOID Buffer,
12 ULONG BufferSize,
13 ACCESS_MASK DesiredAccess,
14 PHANDLE phHandle)
15 {
16 UNIMPLEMENTED
17 return 0;
18 }
19
20 /*++
21 * @name KsCreateAllocator
22 * @implemented
23 *
24 * The function KsCreateAllocator
25 *
26 * @param
27 *
28 * @param
29 *
30 * @param ACCESS_MASK DesiredAccess
31 * Desrided access
32 *
33 * @param
34 *
35 * @return
36 * Return NTSTATUS error code or sussess code.
37 *
38 * @remarks.
39 * none
40 *
41 *--*/
42 KSDDKAPI
43 NTSTATUS
44 NTAPI
45 KsCreateAllocator(HANDLE ConnectionHandle,
46 PKSALLOCATOR_FRAMING AllocatorFraming,
47 PHANDLE AllocatorHandle)
48
49 {
50 return KsiCreateObjectType( ConnectionHandle,
51 KSSTRING_Allocator,
52 (PVOID) AllocatorFraming,
53 sizeof(KSALLOCATOR_FRAMING),
54 GENERIC_READ,
55 AllocatorHandle);
56 }
57
58 /*++
59 * @name KsCreateClock
60 * @implemented
61 *
62 * The function KsCreateClock
63 *
64 * @param
65 *
66 * @param
67 *
68 * @param ACCESS_MASK DesiredAccess
69 * Desrided access
70 *
71 * @param
72 *
73 * @return
74 * Return NTSTATUS error code or sussess code.
75 *
76 * @remarks.
77 * none
78 *
79 *--*/
80 KSDDKAPI
81 NTSTATUS
82 NTAPI
83 KsCreateClock(HANDLE ConnectionHandle,
84 PKSCLOCK_CREATE ClockCreate,
85 PHANDLE ClockHandle)
86 {
87 return KsiCreateObjectType( ConnectionHandle,
88 KSSTRING_Clock,
89 (PVOID) ClockCreate,
90 sizeof(KSCLOCK_CREATE),
91 GENERIC_READ,
92 ClockHandle);
93 }
94
95
96
97 /*++
98 * @name KsCreatePin
99 * @implemented
100 *
101 * The function KsCreatePin
102 *
103 * @param
104 *
105 * @param
106 *
107 * @param ACCESS_MASK DesiredAccess
108 * Desrided access
109 *
110 * @param
111 *
112 * @return
113 * Return NTSTATUS error code or sussess code.
114 *
115 * @remarks.
116 * none
117 *
118 *--*/
119 KSDDKAPI
120 NTSTATUS
121 NTAPI
122 KsCreatePin(HANDLE FilterHandle,
123 PKSPIN_CONNECT Connect,
124 ACCESS_MASK DesiredAccess,
125 OUT PHANDLE ConnectionHandle)
126 {
127 return KsiCreateObjectType(FilterHandle,
128 KSSTRING_Pin,
129 Connect,
130 sizeof(KSPIN_CONNECT),
131 DesiredAccess,
132 ConnectionHandle);
133
134 }
135
136 /*++
137 * @name KsCreateTopologyNode
138 * @implemented
139 *
140 * The function KsCreateTopologyNode creates a handle to a topology node instance
141 *
142 * @param HANDLE ParentHandle
143 * Handle to parent when want to use when we created the node on
144 *
145 *
146 * @param PKSNODE_CREATE NodeCreate
147 * topology node parameters to use when it is create
148 *
149 * @param ACCESS_MASK DesiredAccess
150 * Desrided access
151 *
152 * @param PHANDLE NodeHandle
153 * Location for the topology node handle
154 *
155 * @return
156 * Return NTSTATUS error code or sussess code.
157 *
158 * @remarks.
159 * none
160 *
161 *--*/
162 KSDDKAPI
163 NTSTATUS
164 NTAPI
165 KsCreateTopologyNode(HANDLE ParentHandle,
166 PKSNODE_CREATE NodeCreate,
167 IN ACCESS_MASK DesiredAccess,
168 OUT PHANDLE NodeHandle)
169 {
170 return KsiCreateObjectType( ParentHandle,
171 KSSTRING_TopologyNode,
172 (PVOID) NodeCreate,
173 sizeof(KSNODE_CREATE),
174 DesiredAccess,
175 NodeHandle);
176 }
177
178
179 BOOL
180 APIENTRY
181 DllMain(HANDLE hModule, DWORD ulreason, LPVOID lpReserved)
182 {
183 switch (ulreason)
184 {
185 case DLL_PROCESS_ATTACH:
186 case DLL_THREAD_ATTACH:
187 case DLL_THREAD_DETACH:
188 case DLL_PROCESS_DETACH:
189 break;
190 }
191
192 return TRUE;
193 }