Author: silverblade Date: Sun Dec 10 18:09:46 2006 New Revision: 25114
URL: http://svn.reactos.org/svn/reactos?rev=25114&view=rev Log: Further stubbing of Kernel Streaming APIs: KS.SYS PORTCLS.SYS
Added: trunk/reactos/drivers/multimedia/ks/ks.rc trunk/reactos/drivers/multimedia/portcls/adapter.c trunk/reactos/drivers/multimedia/portcls/dll.c trunk/reactos/drivers/multimedia/portcls/drm.c trunk/reactos/drivers/multimedia/portcls/stubs.c Removed: trunk/reactos/drivers/multimedia/include/ trunk/reactos/drivers/multimedia/portcls/portcls.c trunk/reactos/drivers/multimedia/portcls/portcls.h Modified: trunk/reactos/drivers/multimedia/directory.rbuild trunk/reactos/drivers/multimedia/ks/ks.rbuild trunk/reactos/drivers/multimedia/portcls/portcls.def trunk/reactos/drivers/multimedia/portcls/portcls.rbuild
Modified: trunk/reactos/drivers/multimedia/directory.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/director... ============================================================================== --- trunk/reactos/drivers/multimedia/directory.rbuild (original) +++ trunk/reactos/drivers/multimedia/directory.rbuild Sun Dec 10 18:09:46 2006 @@ -8,9 +8,6 @@ This is mostly incomplete at the moment. -->
-<!--directory name="wdmaud"> - <xi:include href="wdmaud/wdmaud.rbuild" /> -</directory--> <directory name="ks"> <xi:include href="ks/ks.rbuild" /> </directory>
Modified: trunk/reactos/drivers/multimedia/ks/ks.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/ks/ks.rb... ============================================================================== --- trunk/reactos/drivers/multimedia/ks/ks.rbuild (original) +++ trunk/reactos/drivers/multimedia/ks/ks.rbuild Sun Dec 10 18:09:46 2006 @@ -6,6 +6,7 @@ <library>ntoskrnl</library> <define name="__USE_W32API" /> <define name="BUILDING_KS" /> + <file>ks.rc</file> <file>allocators.c</file> <file>clocks.c</file> <file>connectivity.c</file>
Added: trunk/reactos/drivers/multimedia/ks/ks.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/ks/ks.rc... ============================================================================== --- trunk/reactos/drivers/multimedia/ks/ks.rc (added) +++ trunk/reactos/drivers/multimedia/ks/ks.rc Sun Dec 10 18:09:46 2006 @@ -1,0 +1,5 @@ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "Kernel Streaming API\0" +#define REACTOS_STR_INTERNAL_NAME "ks\0" +#define REACTOS_STR_ORIGINAL_FILENAME "ks.sys\0" +#include <reactos/version.rc>
Added: trunk/reactos/drivers/multimedia/portcls/adapter.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/adapter.c (added) +++ trunk/reactos/drivers/multimedia/portcls/adapter.c Sun Dec 10 18:09:46 2006 @@ -1,0 +1,87 @@ +/* + ReactOS Kernel Streaming + Port Class API: Adapter initialization + + Author: Andrew Greenwood + +*/ + +#include <portcls.h> + + +NTSTATUS +PcStartIo( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + /* Internal function */ + return STATUS_UNSUCCESSFUL; +} + +NTSTATUS +PcUnload( + IN PDRIVER_OBJECT DriverObject) +{ + /* Internal function */ + return STATUS_UNSUCCESSFUL; +} + + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcInitializeAdapterDriver( + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPathName, + IN PDRIVER_ADD_DEVICE AddDevice) +{ + /* + This is effectively a common DriverEntry function for PortCls drivers. + So it has similar responsibilities to a normal driver. + + First 2 parameters are from DriverEntry. + Installs the supplied AddDevice routine in the driver object?s driver extension and installs the PortCls driver?s IRP handlers in the driver object itself. + */ + + DriverObject->DriverExtension->AddDevice = AddDevice; + + /* + TODO: (* = implement here, otherwise KS default) + IRP_MJ_CLOSE + * IRP_MJ_CREATE + IRP_MJ_DEVICE_CONTROL + IRP_MJ_FLUSH_BUFFERS + * IRP_MJ_PNP + * IRP_MJ_POWER + IRP_MJ_QUERY_SECURITY + IRP_MJ_READ + IRP_MJ_SET_SECURITY + * IRP_MJ_SYSTEM_CONTROL + IRP_MJ_WRITE + */ + + UNIMPLEMENTED; + + return STATUS_SUCCESS; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcAddAdapterDevice( + IN PDRIVER_OBJECT DriverObject, + IN PDEVICE_OBJECT PhysicalDeviceObject, + IN PCPFNSTARTDEVICE StartDevice, + IN ULONG MaxObjects, + IN ULONG DeviceExtensionSize) +{ + /* + Note - after this has been called, we can + handle IRP_MN_START_DEVICE by calling StartDevice + */ + + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +}
Added: trunk/reactos/drivers/multimedia/portcls/dll.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/dll.c (added) +++ trunk/reactos/drivers/multimedia/portcls/dll.c Sun Dec 10 18:09:46 2006 @@ -1,0 +1,29 @@ +/* + ReactOS Kernel Streaming + Port Class / Library Init and Cleanup + + Author: Andrew Greenwood + + Notes: + - +*/ + +#include <ntddk.h> + +/* + * @implemented + */ +ULONG STDCALL +DllInitialize(ULONG Unknown) +{ + return 0; +} + +/* + * @implemented + */ +ULONG STDCALL +DllUnload(VOID) +{ + return 0; +}
Added: trunk/reactos/drivers/multimedia/portcls/drm.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/drm.c (added) +++ trunk/reactos/drivers/multimedia/portcls/drm.c Sun Dec 10 18:09:46 2006 @@ -1,0 +1,73 @@ +/* + ReactOS Kernel Streaming + Port Class / Digital Rights Management + + Author: Andrew Greenwood + + Notes: + These are convenience functions for accessing DRM facilities, as + documented here: + http://www.osronline.com/ddkx/stream/aud-prop_9f77.htm +*/ + +#include <portcls.h> +#include <drmk.h> + +PORTCLASSAPI NTSTATUS NTAPI +PcAddContentHandlers( + IN ULONG ContentId, + IN PVOID *paHandlers, + IN ULONG NumHandlers) +{ + return DrmAddContentHandlers(ContentId, paHandlers, NumHandlers); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcCreateContentMixed( + IN PULONG paContentId, + IN ULONG cContentId, + OUT PULONG pMixedContentId) +{ + return DrmCreateContentMixed(paContentId, cContentId, pMixedContentId); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcDestroyContent( + IN ULONG ContentId) +{ + return DrmDestroyContent(ContentId); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcForwardContentToDeviceObject( + IN ULONG ContentId, + IN PVOID Reserved, + IN PCDRMFORWARD DrmForward) +{ + return DrmForwardContentToDeviceObject(ContentId, Reserved, DrmForward); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcForwardContentToFileObject( + IN ULONG ContentId, + IN PFILE_OBJECT FileObject) +{ + return DrmForwardContentToFileObject(ContentId, FileObject); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcForwardContentToInterface( + IN ULONG ContentId, + IN PUNKNOWN pUnknown, + IN ULONG NumMethods) +{ + return DrmForwardContentToInterface(ContentId, pUnknown, NumMethods); +} + +PORTCLASSAPI NTSTATUS NTAPI +PcGetContentRights( + IN ULONG ContentId, + OUT PDRMRIGHTS DrmRights) +{ + return DrmGetContentRights(ContentId, DrmRights); +}
Removed: trunk/reactos/drivers/multimedia/portcls/portcls.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/portcls.c (original) +++ trunk/reactos/drivers/multimedia/portcls/portcls.c (removed) @@ -1,489 +1,0 @@ -/* - * PROJECT: ReactOS Sound System - * LICENSE: GPL - See COPYING in the top level directory - * FILE: drivers/multimedia/portcls/portcls.c - * PURPOSE: Audio Port Class Functions - * PROGRAMMERS: - * - */ - -#include "portcls.h" - - -#define NDEBUG -#include <debug.h> - - -NTSTATUS STDCALL -DriverEntry(PDRIVER_OBJECT DriverObject, - PUNICODE_STRING RegistryPath) -{ - return STATUS_SUCCESS; -} - -/* - * @implemented - */ -ULONG STDCALL -DllInitialize(ULONG Unknown) -{ - return 0; -} - -/* - * @implemented - */ -ULONG STDCALL -DllUnload(VOID) -{ - return 0; -} - - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcAddAdapterDevice( - ULONG DriverObject, - ULONG PhysicalDeviceObject, - ULONG StartDevice, - ULONG MaxObjects, - ULONG DeviceExtensionSize -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcAddContentHandlers( - ULONG ContentId, - ULONG paHandlers, - ULONG NumHandlers -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcCompleteIrp( - ULONG DeviceObject, - ULONG Irp, - ULONG Status -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcCompletePendingPropertyRequest( - ULONG PropertyRequest, - ULONG NtStatus -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcCreateContentMixed( - ULONG paContentId, - ULONG cContentId, - ULONG pMixedContentId -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcDestroyContent( - ULONG ContentId -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcDispatchIrp( - ULONG DeviceObject, - ULONG Irp -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcForwardContentToDeviceObject( - ULONG ContentId, - ULONG Reserved, - ULONG DrmForward -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcForwardContentToFileObject( - ULONG ContentId, - ULONG FileObject -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcForwardContentToInterface( - ULONG ContentId, - ULONG Unknown, - ULONG NumMethods -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcForwardIrpSynchronous( - ULONG DeviceObject, - ULONG Irp -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcGetContentRights( - ULONG ContentId, - ULONG DrmRights -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcGetDeviceProperty( - ULONG DeviceObject, - ULONG DeviceProperty, - ULONG BufferLength, - ULONG PropertyBuffer, - ULONG ResultLength -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @implemented - */ -ULONGLONG STDCALL -PcGetTimeInterval( - ULONGLONG Timei -) -{ - LARGE_INTEGER CurrentTime; - - KeQuerySystemTime( &CurrentTime); - - return (Timei - CurrentTime.QuadPart); -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcInitializeAdapterDriver( - ULONG DriverObject, - ULONG RegistryPathName, - ULONG AddDevice -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewDmaChannel( - ULONG OutDmaChannel, - ULONG Unknown, - ULONG PoolType, - ULONG DeviceDescription, - ULONG DeviceObject -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewInterruptSync( - ULONG OutInterruptSync, - ULONG Unknown, - ULONG ResourceList, - ULONG ResourceIndex, - ULONG Mode -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewMiniport( - ULONG OutMiniport, - ULONG ClassId -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewPort( - ULONG OutPort, - ULONG ClassId -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewRegistryKey( - ULONG OutRegistryKey, - ULONG Unknown, - ULONG RegistryKeyType, - ULONG DesiredAccess, - ULONG DeviceObject, - ULONG SubDevice, - ULONG ObjectAttributes, - ULONG CreateOptions, - ULONG Disposition -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewResourceList( - ULONG OutResourceList, - ULONG Unknown, - ULONG PoolType, - ULONG TranslatedResources, - ULONG UntranslatedResources -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewResourceSublist( - ULONG OutResourceList, - ULONG Unknown, - ULONG PoolType, - ULONG ParentList, - ULONG MaximumEntries -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcNewServiceGroup( - ULONG OutServiceGroup, - ULONG Unknown -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterAdapterPowerManagement( - ULONG Unknown, - ULONG pvContext -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterIoTimeout( - ULONG pDeviceObject, - ULONG pTimerRoutine, - ULONG pContext -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterPhysicalConnection( - ULONG DeviceObject, - ULONG FromUnknown, - ULONG FromPin, - ULONG ToUnknown, - ULONG ToPin -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterPhysicalConnectionFromExternal( - ULONG DeviceObject, - ULONG FromString, - ULONG FromPin, - ULONG ToUnknown, - ULONG ToPin -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterPhysicalConnectionToExternal( - ULONG DeviceObject, - ULONG FromUnknown, - ULONG FromPin, - ULONG ToString, - ULONG ToPin -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRegisterSubdevice( - ULONG DeviceObject, - ULONG SubdevName, - ULONG Unknown -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcRequestNewPowerState( - ULONG pDeviceObject, - ULONG RequestedNewState -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} - -/* - * @unimplemented - */ -NTSTATUS STDCALL -PcUnregisterIoTimeout( - ULONG pDeviceObject, - ULONG pTimerRoutine, - ULONG pContext -) -{ - UNIMPLEMENTED; - return STATUS_UNSUCCESSFUL; -} -
Modified: trunk/reactos/drivers/multimedia/portcls/portcls.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/portcls.def (original) +++ trunk/reactos/drivers/multimedia/portcls/portcls.def Sun Dec 10 18:09:46 2006 @@ -2,21 +2,14 @@ ; Exports definition file for portcls.sys ; EXPORTS +DllInitialize@4 +DllUnload@0 + +; Adapters (adapter.c) PcAddAdapterDevice@20 -PcAddContentHandlers@12 -PcCompleteIrp@12 -PcCompletePendingPropertyRequest@8 -PcCreateContentMixed@12 -PcDestroyContent@4 -PcDispatchIrp@8 -PcForwardContentToDeviceObject@12 -PcForwardContentToFileObject@8 -PcForwardContentToInterface@12 -PcForwardIrpSynchronous@8 -PcGetContentRights@8 -PcGetDeviceProperty@20 -PcGetTimeInterval@8 PcInitializeAdapterDriver@12 + +; Factories PcNewDmaChannel@20 PcNewInterruptSync@20 PcNewMiniport@8 @@ -25,12 +18,38 @@ PcNewResourceList@20 PcNewResourceSublist@20 PcNewServiceGroup@8 -PcRegisterAdapterPowerManagement@8 -PcRegisterIoTimeout@12 + +; Digital Rights Management (drm.c) +PcAddContentHandlers@12 +PcCreateContentMixed@12 +PcDestroyContent@4 +PcForwardContentToDeviceObject@12 +PcForwardContentToFileObject@8 +PcForwardContentToInterface@12 +PcGetContentRights@8 + +; IRP Helpers +PcCompleteIrp@12 +PcDispatchIrp@8 +PcForwardIrpSynchronous@8 + +; Misc +PcGetTimeInterval@8 +PcRegisterSubdevice@12 + +; Physical Connections PcRegisterPhysicalConnection@20 PcRegisterPhysicalConnectionFromExternal@20 PcRegisterPhysicalConnectionToExternal@20 -PcRegisterSubdevice@12 + +; Power Management +PcRegisterAdapterPowerManagement@8 PcRequestNewPowerState@8 + +; Properties +PcCompletePendingPropertyRequest@8 +PcGetDeviceProperty@20 + +; Timeouts +PcRegisterIoTimeout@12 PcUnregisterIoTimeout@12 -
Removed: trunk/reactos/drivers/multimedia/portcls/portcls.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/portcls.h (original) +++ trunk/reactos/drivers/multimedia/portcls/portcls.h (removed) @@ -1,253 +1,0 @@ -/* - - Move to w32api when it is ready. - - */ -#ifndef _PORTCLS_H -#define _PORTCLS_H -#if __GNUC__ >=3 -#pragma GCC system_header -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* This header is total bull**** */ - -#include <ntddk.h> - -#define PORTCLASSAPI extern - -PORTCLASSAPI NTSTATUS STDCALL -PcAddAdapterDevice( - ULONG DriverObject, - ULONG PhysicalDeviceObject, - ULONG StartDevice, - ULONG MaxObjects, - ULONG DeviceExtensionSize -); - -PORTCLASSAPI NTSTATUS STDCALL -PcAddContentHandlers( - ULONG ContentId, - ULONG paHandlers, - ULONG NumHandlers -); - -PORTCLASSAPI NTSTATUS STDCALL -PcCompleteIrp( - ULONG DeviceObject, - ULONG Irp, - ULONG Status -); - -PORTCLASSAPI NTSTATUS STDCALL -PcCompletePendingPropertyRequest( - ULONG PropertyRequest, - ULONG NtStatus -); - -PORTCLASSAPI NTSTATUS STDCALL -PcCreateContentMixed( - ULONG paContentId, - ULONG cContentId, - ULONG pMixedContentId -); - -PORTCLASSAPI NTSTATUS STDCALL -PcDestroyContent( - ULONG ContentId -); - -PORTCLASSAPI NTSTATUS STDCALL -PcDispatchIrp( - ULONG DeviceObject, - ULONG Irp -); - -PORTCLASSAPI NTSTATUS STDCALL -PcForwardContentToDeviceObject( - ULONG ContentId, - ULONG Reserved, - ULONG DrmForward -); - -PORTCLASSAPI NTSTATUS STDCALL -PcForwardContentToFileObject( - ULONG ContentId, - ULONG FileObject -); - -PORTCLASSAPI NTSTATUS STDCALL -PcForwardContentToInterface( - ULONG ContentId, - ULONG Unknown, - ULONG NumMethods -); - -PORTCLASSAPI NTSTATUS STDCALL -PcForwardIrpSynchronous( - ULONG DeviceObject, - ULONG Irp -); - -PORTCLASSAPI NTSTATUS STDCALL -PcGetContentRights( - ULONG ContentId, - ULONG DrmRights -); - -PORTCLASSAPI NTSTATUS STDCALL -PcGetDeviceProperty( - ULONG DeviceObject, - ULONG DeviceProperty, - ULONG BufferLength, - ULONG PropertyBuffer, - ULONG ResultLength -); - -PORTCLASSAPI ULONGLONG STDCALL -PcGetTimeInterval( - ULONGLONG Timei -); - -PORTCLASSAPI NTSTATUS STDCALL -PcInitializeAdapterDriver( - ULONG DriverObject, - ULONG RegistryPathName, - ULONG AddDevice -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewDmaChannel( - ULONG OutDmaChannel, - ULONG Unknown, - ULONG PoolType, - ULONG DeviceDescription, - ULONG DeviceObject -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewInterruptSync( - ULONG OutInterruptSync, - ULONG Unknown, - ULONG ResourceList, - ULONG ResourceIndex, - ULONG Mode -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewMiniport( - ULONG OutMiniport, - ULONG ClassId -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewPort( - ULONG OutPort, - ULONG ClassId -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewRegistryKey( - ULONG OutRegistryKey, - ULONG Unknown, - ULONG RegistryKeyType, - ULONG DesiredAccess, - ULONG DeviceObject, - ULONG SubDevice, - ULONG ObjectAttributes, - ULONG CreateOptions, - ULONG Disposition -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewResourceList( - ULONG OutResourceList, - ULONG Unknown, - ULONG PoolType, - ULONG TranslatedResources, - ULONG UntranslatedResources -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewResourceSublist( - ULONG OutResourceList, - ULONG Unknown, - ULONG PoolType, - ULONG ParentList, - ULONG MaximumEntries -); - -PORTCLASSAPI NTSTATUS STDCALL -PcNewServiceGroup( - ULONG OutServiceGroup, - ULONG Unknown -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterAdapterPowerManagement( - ULONG Unknown, - ULONG pvContext -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterIoTimeout( - ULONG pDeviceObject, - ULONG pTimerRoutine, - ULONG pContext -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterPhysicalConnection( - ULONG DeviceObject, - ULONG FromUnknown, - ULONG FromPin, - ULONG ToUnknown, - ULONG ToPin -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterPhysicalConnectionFromExternal( - ULONG DeviceObject, - ULONG FromString, - ULONG FromPin, - ULONG ToUnknown, - ULONG ToPin -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterPhysicalConnectionToExternal( - ULONG DeviceObject, - ULONG FromUnknown, - ULONG FromPin, - ULONG ToString, - ULONG ToPin -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRegisterSubdevice( - ULONG DeviceObject, - ULONG SubdevName, - ULONG Unknown -); - -PORTCLASSAPI NTSTATUS STDCALL -PcRequestNewPowerState( - ULONG pDeviceObject, - ULONG RequestedNewState -); - -PORTCLASSAPI NTSTATUS STDCALL -PcUnregisterIoTimeout( - ULONG pDeviceObject, - ULONG pTimerRoutine, - ULONG pContext -); - -#ifdef __cplusplus -} -#endif - -#endif
Modified: trunk/reactos/drivers/multimedia/portcls/portcls.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/portcls.rbuild (original) +++ trunk/reactos/drivers/multimedia/portcls/portcls.rbuild Sun Dec 10 18:09:46 2006 @@ -1,8 +1,12 @@ -<module name="portcls" type="exportdriver" installbase="system32/drivers" installname="portcls.sys"> +<module name="portcls" type="exportdriver" installbase="system32/drivers" installname="portcls.sys" allowwarnings="true"> <importlibrary definition="portcls.def" /> <define name="__USE_W32API" /> + <include base="portcls">../include</include> <library>ntoskrnl</library> - <library>hal</library> - <file>portcls.c</file> + <library>drmk</library> + <file>dll.c</file> + <file>adapter.c</file> + <file>drm.c</file> + <file>stubs.c</file> <file>portcls.rc</file> </module>
Added: trunk/reactos/drivers/multimedia/portcls/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/portcls/... ============================================================================== --- trunk/reactos/drivers/multimedia/portcls/stubs.c (added) +++ trunk/reactos/drivers/multimedia/portcls/stubs.c Sun Dec 10 18:09:46 2006 @@ -1,0 +1,338 @@ +/* + Port Class API + Stubbed functions +*/ + +#include <portcls.h> + +/* + Factory Stubs +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewDmaChannel( + OUT PDMACHANNEL* OutDmaChannel, + IN PUNKNOWN OuterUnknown OPTIONAL, + IN POOL_TYPE PoolType, + IN PDEVICE_DESCRIPTION DeviceDescription, + IN PDEVICE_OBJECT DeviceObject) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewInterruptSync( + OUT PINTERRUPTSYNC* OUtInterruptSync, + IN PUNKNOWN OuterUnknown OPTIONAL, + IN PRESOURCELIST ResourceList, + IN ULONG ResourceIndex, + IN INTERRUPTSYNCMODE Mode) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewMiniport( + OUT PMINIPORT* OutMiniport, + IN REFCLSID ClassId) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewPort( + OUT PPORT* OutPort, + IN REFCLSID ClassId) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewRegistryKey( + OUT PREGISTRYKEY* OutRegistryKey, + IN PUNKNOWN OuterUnknown OPTIONAL, + IN ULONG RegistryKeyType, + IN ACCESS_MASK DesiredAccess, + IN PVOID DeviceObject OPTIONAL, + IN PVOID SubDevice OPTIONAL, + IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, + IN ULONG CreateOptions OPTIONAL, + OUT PULONG Disposition OPTIONAL) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewResourceList( + OUT PRESOURCELIST* OutResourceList, + IN PUNKNOWN OuterUnknown OPTIONAL, + IN POOL_TYPE PoolType, + IN PCM_RESOURCE_LIST TranslatedResources, + IN PCM_RESOURCE_LIST UntranslatedResources) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewResourceSublist( + OUT PRESOURCELIST* OutResourceList, + IN PUNKNOWN OuterUnknown OPTIONAL, + IN POOL_TYPE PoolType, + IN PRESOURCELIST ParentList, + IN ULONG MaximumEntries) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcNewServiceGroup( + OUT PSERVICEGROUP* OutServiceGroup, + IN PUNKNOWN OuterUnknown OPTIONAL) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + IRP Handling +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcDispatchIrp( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcCompleteIrp( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp, + IN NTSTATUS Status) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcForwardIrpSynchronous( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + Power Management +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterAdapterPowerManagement( + IN PUNKNOWN pUnknown, + IN PVOID pvContext1) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRequestNewPowerState( + IN PDEVICE_OBJECT pDeviceObject, + IN DEVICE_POWER_STATE RequestedNewState) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + Properties +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcGetDeviceProperty( + IN PVOID DeviceObject, + IN DEVICE_REGISTRY_PROPERTY DeviceProperty, + IN ULONG BufferLength, + OUT PVOID PropertyBuffer, + OUT PULONG ResultLength) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcCompletePendingPropertyRequest( + IN PPCPROPERTY_REQUEST PropertyRequest, + IN NTSTATUS NtStatus) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + I/O Timeouts +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterIoTimeout( + IN PDEVICE_OBJECT pDeviceObject, + IN PIO_TIMER_ROUTINE pTimerRoutine, + IN PVOID pContext) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcUnregisterIoTimeout( + IN PDEVICE_OBJECT pDeviceObject, + IN PIO_TIMER_ROUTINE pTimerRoutine, + IN PVOID pContext) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + Physical Connections +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterPhysicalConnection( + IN PDEVICE_OBJECT DeviceObject, + IN PUNKNOWN FromUnknown, + IN ULONG FromPin, + IN PUNKNOWN ToUnknown, + IN ULONG ToPin) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterPhysicalConnectionFromExternal( + IN PDEVICE_OBJECT DeviceObject, + IN PUNICODE_STRING FromString, + IN ULONG FromPin, + IN PUNKNOWN ToUnknown, + IN ULONG ToPin) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterPhysicalConnectionToExternal( + IN PDEVICE_OBJECT DeviceObject, + IN PUNKNOWN FromUnknown, + IN ULONG FromPin, + IN PUNICODE_STRING ToString, + IN ULONG ToPin) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + + +/* =============================================================== + Misc +*/ + +/* + * @unimplemented + */ +PORTCLASSAPI ULONGLONG NTAPI +PcGetTimeInterval( + IN ULONGLONG Since) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + * @unimplemented + */ +PORTCLASSAPI NTSTATUS NTAPI +PcRegisterSubdevice( + IN PDEVICE_OBJECT DeviceObject, + IN PWCHAR Name, + IN PUNKNOWN Unknown) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +}