mirror of
https://github.com/reactos/reactos.git
synced 2025-01-06 06:20:13 +00:00
merge ksuser.dll from reactx branch to trunk
not all api are implemented. reactx.h header are now in use here svn path=/trunk/; revision=33006
This commit is contained in:
parent
e49e2fcd76
commit
bb681bcfac
5 changed files with 221 additions and 47 deletions
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* KSUSER.DLL - ReactOS User CSA Library
|
||||
* KSUSER.DLL - ReactOS
|
||||
*
|
||||
* Copyright 2008 Dmitry Chapyshev
|
||||
* Copyright 2008 Magnus Olsen and Dmitry Chapyshev
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -18,46 +18,210 @@
|
|||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <wchar.h>
|
||||
#include <tchar.h>
|
||||
#include <ks.h>
|
||||
|
||||
KSDDKAPI NTSTATUS NTAPI
|
||||
KsCreateAllocator(
|
||||
HANDLE ConnectionHandle,
|
||||
PKSALLOCATOR_FRAMING AllocatorFraming,
|
||||
PHANDLE AllocatorHandle)
|
||||
#include "ksuser.h"
|
||||
|
||||
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)
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
}
|
||||
|
||||
KSDDKAPI NTSTATUS NTAPI
|
||||
KsCreateClock(
|
||||
HANDLE ConnectionHandle,
|
||||
PKSCLOCK_CREATE ClockCreate,
|
||||
PHANDLE ClockHandle)
|
||||
/*++
|
||||
* @name KsCreateAllocator
|
||||
* @implemented
|
||||
* The function KsCreateAllocator creates a handle to an allocator for the given sink connection handle
|
||||
*
|
||||
* @param HANDLE ConnectionHandle
|
||||
* Handle to the sink connection on which to create the allocator
|
||||
*
|
||||
* @param PKSALLOCATOR_FRAMING AllocatorFraming
|
||||
* the input param we using to alloc our framing
|
||||
*
|
||||
* @param PHANDLE AllocatorHandle
|
||||
* Our new handle that we have alloc
|
||||
*
|
||||
* @return
|
||||
* Return NTSTATUS error code or sussess code.
|
||||
*
|
||||
* @remarks.
|
||||
* none
|
||||
*
|
||||
*--*/
|
||||
KSDDKAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KsCreateAllocator(HANDLE ConnectionHandle,
|
||||
PKSALLOCATOR_FRAMING AllocatorFraming,
|
||||
PHANDLE AllocatorHandle)
|
||||
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
return KsiCreateObjectType( ConnectionHandle,
|
||||
KSSTRING_Allocator,
|
||||
(PVOID) AllocatorFraming,
|
||||
sizeof(KSALLOCATOR_FRAMING),
|
||||
GENERIC_READ,
|
||||
AllocatorHandle);
|
||||
}
|
||||
|
||||
KSDDKAPI NTSTATUS NTAPI
|
||||
KsCreatePin(
|
||||
HANDLE FilterHandle,
|
||||
PKSPIN_CONNECT Connect,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PHANDLE ConnectionHandle)
|
||||
/*++
|
||||
* @name KsCreateClock
|
||||
* @implemented
|
||||
*
|
||||
* The function KsCreateClock creates handle to clock instance
|
||||
*
|
||||
* @param HANDLE ConnectionHandle
|
||||
* Handle to use to create the clock
|
||||
*
|
||||
* @param PKSCLOCK_CREATE ClockCreate
|
||||
* paramenter to use to create the clock
|
||||
*
|
||||
* @param PHANDLE ClockHandle
|
||||
* The new handle
|
||||
*
|
||||
* @return
|
||||
* Return NTSTATUS error code or sussess code.
|
||||
*
|
||||
* @remarks.
|
||||
* none
|
||||
*
|
||||
*--*/
|
||||
KSDDKAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KsCreateClock(HANDLE ConnectionHandle,
|
||||
PKSCLOCK_CREATE ClockCreate,
|
||||
PHANDLE ClockHandle)
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
return KsiCreateObjectType( ConnectionHandle,
|
||||
KSSTRING_Clock,
|
||||
(PVOID) ClockCreate,
|
||||
sizeof(KSCLOCK_CREATE),
|
||||
GENERIC_READ,
|
||||
ClockHandle);
|
||||
}
|
||||
|
||||
KSDDKAPI NTSTATUS NTAPI
|
||||
KsCreateTopologyNode(
|
||||
HANDLE ParentHandle,
|
||||
PKSNODE_CREATE NodeCreate,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PHANDLE NodeHandle)
|
||||
/*++
|
||||
* @name KsCreatePin
|
||||
* @implemented
|
||||
*
|
||||
* The function KsCreatePin passes a connection request to device and create pin instance
|
||||
*
|
||||
* @param HANDLE FilterHandle
|
||||
* handle of the filter initiating the create request
|
||||
*
|
||||
* @param PKSPIN_CONNECT Connect
|
||||
* Pointer to a KSPIN_CONNECT structure that contains parameters for the requested connection.
|
||||
* This should be followed in memory by a KSDATAFORMAT data structure, describing the data format
|
||||
* requested for the connection.
|
||||
|
||||
* @param ACCESS_MASK DesiredAccess
|
||||
* Desrided access
|
||||
*
|
||||
* @param PHANDLE ConnectionHandle
|
||||
* connection handle passed
|
||||
*
|
||||
* @return
|
||||
* Return NTSTATUS error code or sussess code.
|
||||
*
|
||||
* @remarks.
|
||||
* The flag in PKSDATAFORMAT is not really document,
|
||||
* to find it u need api mointor allot api and figout
|
||||
* how it works, only flag I have found is the
|
||||
* KSDATAFORMAT_ATTRIBUTES flag, it doing a Align
|
||||
* of LONLONG size, it also round up it.
|
||||
*
|
||||
*--*/
|
||||
|
||||
KSDDKAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KsCreatePin(HANDLE FilterHandle,
|
||||
PKSPIN_CONNECT Connect,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PHANDLE ConnectionHandle)
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
ULONG BufferSize = sizeof(KSPIN_CONNECT);
|
||||
PKSDATAFORMAT DataFormat = ((PKSDATAFORMAT) ( ((ULONG)Connect) + ((ULONG)sizeof(KSPIN_CONNECT)) ) );
|
||||
|
||||
if (DataFormat->Flags & KSDATAFORMAT_ATTRIBUTES)
|
||||
{
|
||||
BufferSize += (ROUND_UP(DataFormat->FormatSize,sizeof(LONGLONG)) + DataFormat->FormatSize);
|
||||
}
|
||||
|
||||
return KsiCreateObjectType(FilterHandle,
|
||||
KSSTRING_Pin,
|
||||
Connect,
|
||||
BufferSize,
|
||||
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
|
||||
KsCreateTopologyNode(HANDLE ParentHandle,
|
||||
PKSNODE_CREATE NodeCreate,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PHANDLE NodeHandle)
|
||||
{
|
||||
return KsiCreateObjectType( ParentHandle,
|
||||
KSSTRING_TopologyNode,
|
||||
(PVOID) NodeCreate,
|
||||
sizeof(KSNODE_CREATE),
|
||||
DesiredAccess,
|
||||
NodeHandle);
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
APIENTRY
|
||||
DllMain(HANDLE hModule, DWORD ulreason, LPVOID lpReserved)
|
||||
{
|
||||
switch (ulreason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
case DLL_THREAD_ATTACH:
|
||||
case DLL_THREAD_DETACH:
|
||||
case DLL_PROCESS_DETACH:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
LIBRARY ksuser.dll
|
||||
EXPORTS
|
||||
KsCreateAllocator
|
||||
KsCreateClock
|
||||
KsCreatePin
|
||||
KsCreateTopologyNode
|
||||
; EOF
|
||||
KsCreateAllocator@12
|
||||
KsCreateClock@12
|
||||
KsCreatePin@16
|
||||
KsCreateTopologyNode@16
|
||||
|
|
15
reactos/dll/directx/ksuser/ksuser.h
Normal file
15
reactos/dll/directx/ksuser/ksuser.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
|
||||
|
||||
#define _KSDDK_
|
||||
#include <windows.h>
|
||||
#include <reactos/helper.h>
|
||||
|
||||
|
||||
|
||||
#include <ks.h>
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,15 +1,13 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group>
|
||||
<module name="ksuser" type="win32dll" baseaddress="${BASEADDRESS_KSUSER}" installbase="system32" installname="ksuser.dll" allowwarnings="true">
|
||||
<importlibrary definition="ksuser.def" />
|
||||
<include base="ksuser">.</include>
|
||||
<define name="WINVER">0x600</define>
|
||||
<define name="_WIN32_WINNT">0x600</define>
|
||||
<library>advapi32</library>
|
||||
<library>advapi32</library>
|
||||
<library>kernel32</library>
|
||||
<library>ntdll</library>
|
||||
<file>ksuser.c</file>
|
||||
<file>ksuser.rc</file>
|
||||
</module>
|
||||
</group>
|
|
@ -1,12 +1,10 @@
|
|||
|
||||
|
||||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS User CSA Library\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "ksuser\0"
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "User CSA Library\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "ksuser.dll\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "ksuser.dll\0"
|
||||
|
||||
#define REACTOS_FILEVERSION 5,3,0,900
|
||||
#define REACTOS_STR_FILE_VERSION "5.3.0.900"
|
||||
#define REACTOS_PRODUCTVERSION 5,3,0,900
|
||||
#define REACTOS_STR_PRODUCT_VERSION "5.3"
|
||||
#include <reactos/reactx.h>
|
||||
|
||||
#include <reactos/version.rc>
|
||||
|
|
Loading…
Reference in a new issue