diff --git a/reactos/dll/directx/ksuser/ksuser.c b/reactos/dll/directx/ksuser/ksuser.c index 45359dcf400..b16d188b0b3 100644 --- a/reactos/dll/directx/ksuser/ksuser.c +++ b/reactos/dll/directx/ksuser/ksuser.c @@ -1,27 +1,82 @@ -#define _KSDDK_ -#include -#include #include "ksuser.h" -#include - - +NTSTATUS NTAPI KsiCreateObjectType( HANDLE hHandle, PVOID guidstr, PVOID Buffer, ULONG BufferSize, ACCESS_MASK DesiredAccess, PHANDLE phHandle); +NTSTATUS +NTAPI +KsiCreateObjectType( HANDLE hHandle, + PVOID IID, + PVOID Buffer, + ULONG BufferSize, + ACCESS_MASK DesiredAccess, + PHANDLE phHandle) +{ + UNIMPLEMENTED + return 0; +} +/*++ +* @name KsCreateAllocator +* @implemented +* +* The function KsCreateAllocator +* +* @param +* +* @param +* +* @param ACCESS_MASK DesiredAccess +* Desrided access +* +* @param +* +* @return +* Return NTSTATUS error code or sussess code. +* +* @remarks. +* none +* +*--*/ KSDDKAPI NTSTATUS NTAPI KsCreateAllocator(HANDLE ConnectionHandle, PKSALLOCATOR_FRAMING AllocatorFraming, PHANDLE AllocatorHandle) -{ - return 0; +{ + return KsiCreateObjectType( ConnectionHandle, + KSSTRING_Allocator, + (PVOID) AllocatorFraming, + sizeof(KSALLOCATOR_FRAMING), + GENERIC_READ, + AllocatorHandle); } -/* +/*++ +* @name KsCreateClock +* @implemented +* +* The function KsCreateClock +* +* @param +* +* @param +* +* @param ACCESS_MASK DesiredAccess +* Desrided access +* +* @param +* +* @return +* Return NTSTATUS error code or sussess code. +* +* @remarks. +* none +* +*--*/ KSDDKAPI NTSTATUS NTAPI @@ -29,10 +84,38 @@ KsCreateClock(HANDLE ConnectionHandle, PKSCLOCK_CREATE ClockCreate, PHANDLE ClockHandle) { - UNIMPLEMENTED - return 0; + return KsiCreateObjectType( ConnectionHandle, + KSSTRING_Clock, + (PVOID) ClockCreate, + sizeof(KSCLOCK_CREATE), + GENERIC_READ, + ClockHandle); } + + +/*++ +* @name KsCreatePin +* @implemented +* +* The function KsCreatePin +* +* @param +* +* @param +* +* @param ACCESS_MASK DesiredAccess +* Desrided access +* +* @param +* +* @return +* Return NTSTATUS error code or sussess code. +* +* @remarks. +* none +* +*--*/ KSDDKAPI NTSTATUS NTAPI @@ -41,10 +124,41 @@ KsCreatePin(HANDLE FilterHandle, ACCESS_MASK DesiredAccess, OUT PHANDLE ConnectionHandle) { - UNIMPLEMENTED - return 0; + return KsiCreateObjectType(FilterHandle, + KSSTRING_Pin, + Connect, + sizeof(KSPIN_CONNECT), + DesiredAccess, + ConnectionHandle); + } +/*++ +* @name KsCreateTopologyNode +* @implemented +* +* The function KsCreateTopologyNode creates a handle to a topology node instance +* +* @param HANDLE ParentHandle +* Handle to parent when want to use when we created the node on +* +* +* @param PKSNODE_CREATE NodeCreate +* topology node parameters to use when it is create +* +* @param ACCESS_MASK DesiredAccess +* Desrided access +* +* @param PHANDLE NodeHandle +* Location for the topology node handle +* +* @return +* Return NTSTATUS error code or sussess code. +* +* @remarks. +* none +* +*--*/ KSDDKAPI NTSTATUS NTAPI @@ -53,10 +167,14 @@ KsCreateTopologyNode(HANDLE ParentHandle, IN ACCESS_MASK DesiredAccess, OUT PHANDLE NodeHandle) { - UNIMPLEMENTED - return 0; + return KsiCreateObjectType( ParentHandle, + KSSTRING_TopologyNode, + (PVOID) NodeCreate, + sizeof(KSNODE_CREATE), + DesiredAccess, + NodeHandle); } -*/ + BOOL APIENTRY diff --git a/reactos/dll/directx/ksuser/ksuser.h b/reactos/dll/directx/ksuser/ksuser.h index aacb104fe11..5e034765aa2 100644 --- a/reactos/dll/directx/ksuser/ksuser.h +++ b/reactos/dll/directx/ksuser/ksuser.h @@ -1,3 +1,16 @@ + + + +#define _KSDDK_ #include +#ifndef NTSTATUS + #define NTSTATUS DWORD +#endif + +#include +#include + + +