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/directo…
==============================================================================
--- 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.r…
==============================================================================
--- 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.r…
==============================================================================
--- 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;
+}