mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 13:35:47 +00:00
Further stubbing of Kernel Streaming APIs:
KS.SYS PORTCLS.SYS svn path=/trunk/; revision=25114
This commit is contained in:
parent
0fe6b951ac
commit
c7765a6c6c
14 changed files with 577 additions and 3917 deletions
|
@ -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>
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
/*
|
||||
ReactOS Kernel Streaming
|
||||
Digital Rights Management
|
||||
|
||||
Author: Andrew Greenwood
|
||||
*/
|
||||
|
||||
#ifndef DRMK_H
|
||||
#define DRMK_H
|
||||
|
||||
#include <haxor.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD Flags;
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
PFILE_OBJECT FileObject;
|
||||
PVOID Context;
|
||||
} DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL CopyProtect;
|
||||
ULONG Reserved;
|
||||
BOOL DigitalOutputDisable;
|
||||
} DRMRIGHTS, *PDRMRIGHTS;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Digital Rights Management Functions
|
||||
TODO: Check calling convention
|
||||
*/
|
||||
|
||||
NTSTATUS
|
||||
DrmAddContentHandlers(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID *paHandlers,
|
||||
IN ULONG NumHandlers);
|
||||
|
||||
NTSTATUS
|
||||
DrmCreateContentMixed(
|
||||
IN PULONG paContentId,
|
||||
IN ULONG cContentId,
|
||||
OUT PULONG pMixedContentId);
|
||||
|
||||
NTSTATUS
|
||||
DrmDestroyContent(
|
||||
IN ULONG ContentId);
|
||||
|
||||
NTSTATUS
|
||||
DrmForwardContentToDeviceObject(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID Reserved,
|
||||
IN PCDRMFORWARD DrmForward);
|
||||
|
||||
NTSTATUS
|
||||
DrmForwardContentToFileObject(
|
||||
IN ULONG ContentId,
|
||||
IN PFILE_OBJECT FileObject);
|
||||
|
||||
NTSTATUS
|
||||
DrmForwardContentToInterface(
|
||||
IN ULONG ContentId,
|
||||
IN PUNKNOWN pUnknown,
|
||||
IN ULONG NumMethods);
|
||||
|
||||
NTSTATUS
|
||||
DrmGetContentRights(
|
||||
IN ULONG ContentId,
|
||||
OUT PDRMRIGHTS DrmRights);
|
||||
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load diff
|
@ -1,597 +0,0 @@
|
|||
/*
|
||||
ReactOS Kernel Streaming
|
||||
Port Class
|
||||
|
||||
Andrew Greenwood
|
||||
|
||||
NOTE: Obsolete macros are not implemented. For more info:
|
||||
http://www.osronline.com/ddkx/stream/audpc-struct_167n.htm
|
||||
|
||||
|
||||
== EXPORTS ==
|
||||
DRM:
|
||||
* PcAddContentHandlers
|
||||
* PcCreateContentMixed
|
||||
* PcDestroyContent
|
||||
* PcForwardContentToDeviceObject
|
||||
* PcForwardContentToFileObject
|
||||
* PcForwardContentToInterface
|
||||
* PcGetContentRights
|
||||
|
||||
IRP HANDLING:
|
||||
* PcCompleteIrp
|
||||
* PcDispatchIrp
|
||||
* PcForwardIrpSynchronous
|
||||
|
||||
ADAPTER:
|
||||
* PcAddAdapterDevice
|
||||
* PcInitializeAdapterDriver
|
||||
|
||||
FACTORIES:
|
||||
* PcNewDmaChannel
|
||||
* PcNewInterruptSync
|
||||
* PcNewMiniport
|
||||
* PcNewPort
|
||||
* PcNewRegistryKey
|
||||
* PcNewResourceList
|
||||
* PcNewResourceSublist
|
||||
* PcNewServiceGroup
|
||||
|
||||
POWER MANAGEMENT:
|
||||
* PcRegisterAdapterPowerManagement
|
||||
* PcRequestNewPowerState
|
||||
|
||||
PROPERTIES:
|
||||
* PcCompletePendingPropertyRequest
|
||||
* PcGetDeviceProperty
|
||||
|
||||
IO TIMEOUTS:
|
||||
* PcRegisterIoTimeout
|
||||
* PcUnregisterIoTimeout
|
||||
|
||||
PHYSICAL CONNECTIONS:
|
||||
* PcRegisterPhysicalConnection
|
||||
* PcRegisterPhysicalConnectionFromExternal
|
||||
* PcRegisterPhysicalConnectionToExternal
|
||||
|
||||
MISC:
|
||||
* PcGetTimeInterval
|
||||
* PcRegisterSubdevice
|
||||
|
||||
|
||||
== INTERFACES ==
|
||||
IDmaChannel
|
||||
IDmaChannelSlave
|
||||
IDmaOperations
|
||||
IDrmPort
|
||||
IDrmPort2
|
||||
IInterruptSync
|
||||
IMasterClock
|
||||
IPortClsVersion
|
||||
IPortEvents
|
||||
IPreFetchOffset
|
||||
IRegistryKey
|
||||
IResourceList
|
||||
IServiceGroup
|
||||
IServiceSink
|
||||
|
||||
== AUDIO PORT OBJECT INTERFACES ==
|
||||
IPort
|
||||
IPortDMus
|
||||
IPortMidi
|
||||
IPortTopology
|
||||
IPortWaveCyclic
|
||||
IPortWavePci
|
||||
|
||||
== AUDIO MINIPORT OBJECT INTERFACES ==
|
||||
IMiniport
|
||||
IMiniportDMus
|
||||
IMiniportMidi
|
||||
IMiniportTopology
|
||||
IMiniportWaveCyclic
|
||||
IMiniportWavePci
|
||||
|
||||
== AUDIO MINIPORT AUXILIARY INTERFACES ==
|
||||
IMusicTechnology
|
||||
IPinCount
|
||||
|
||||
== AUDIO STREAM OBJECT INTERFACES ==
|
||||
IAllocatorMXF
|
||||
IDrmAudioStream
|
||||
IMiniportMidiStream
|
||||
IMiniportWaveCyclicStream
|
||||
IMiniportWavePciStream
|
||||
IMXF
|
||||
IPortWavePciStream
|
||||
ISynthSinkDMus
|
||||
|
||||
== DIRECTMUSIC USERMODE SYNTH AND SYNTH SINK INTERFACES ==
|
||||
IDirectMusicSynth
|
||||
IDirectMusicSynthSink
|
||||
|
||||
== AUDIO POWER MANAGEMENT INTERFACES ==
|
||||
IAdapterPowerManagement
|
||||
IPowerNotify
|
||||
*/
|
||||
|
||||
#ifndef PORTCLS_H
|
||||
#define PORTCLS_H
|
||||
|
||||
#include <haxor.h>
|
||||
#include <ks.h>
|
||||
#include <drmk.h>
|
||||
|
||||
/* TODO */
|
||||
#define PORTCLASSAPI
|
||||
|
||||
|
||||
const ULONG PCFILTER_NODE = ((ULONG) -1);
|
||||
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Class IDs - TODO
|
||||
*/
|
||||
//#define CLSID_PortDMus /* dmusicks.h */
|
||||
#define CLSID_PortMidi
|
||||
#define CLSID_PortTopology
|
||||
#define CLSID_PortWaveCyclic
|
||||
#define CLSID_PortWavePci
|
||||
|
||||
/* first 2 are dmusicks.h */
|
||||
#define CLSID_MiniportDriverDMusUART
|
||||
#define CLSID_MiniportDriverDMusUARTCapture
|
||||
#define CLSID_MiniportDriverFmSynth
|
||||
#define CLSID_MiniportDriverFmSynthWithVol
|
||||
#define CLSID_MiniportDriverUart
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Property Item Flags - TODO
|
||||
*/
|
||||
#define PCPROPERTY_ITEM_FLAG_GET
|
||||
#define PCPROPERTY_ITEM_FLAG_SET
|
||||
#define PCPROPERTY_ITEM_FLAG_DEFAULTVALUES
|
||||
#define PCPROPERTY_ITEM_FLAG_BASICSUPPORT
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZESIZE
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZERAW
|
||||
#define PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZE
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Event Item Flags - TODO
|
||||
*/
|
||||
#define PCEVENT_ITEM_FLAG_ENABLE
|
||||
#define PCEVENT_ITEM_FLAG_ONESHOT
|
||||
#define PCEVENT_ITEM_FLAG_BASICSUPPORT
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Event Verbs - TODO
|
||||
*/
|
||||
#define PCEVENT_VERB_ADD
|
||||
#define PCEVENT_VERB_REMOVE
|
||||
#define PCEVENT_VERB_SUPPORT
|
||||
#define PCEVENT_VERB_NONE
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Method Item Flags - TODO
|
||||
*/
|
||||
#define PCMETHOD_ITEM_FLAG_MODIFY
|
||||
#define PCMETHOD_ITEM_FLAG_NONE
|
||||
#define PCMETHOD_ITEM_FLAG_READ
|
||||
#define PCMETHOD_ITEM_FLAG_SOURCE
|
||||
#define PCMETHOD_ITEM_FLAG_WRITE
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Method Verbs - TODO
|
||||
*/
|
||||
#define PCMETHOD_ITEM_FLAG_BASICSUPPORT
|
||||
#define PCMETHOD_ITEM_FLAG_SEND
|
||||
#define PCMETHOD_ITEM_FLAG_SETSUPPORT
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Callback Functions
|
||||
*/
|
||||
|
||||
struct _PCPROPERTY_REQUEST;
|
||||
|
||||
typedef NTSTATUS (*PCPFNPROPERTY_HANDLER)(
|
||||
IN struct _PCPROPERTY_REQUEST* PropertyRequest);
|
||||
|
||||
typedef struct _PCPROPERTY_ITEM
|
||||
{
|
||||
const GUID* Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
PCPFNPROPERTY_HANDLER Handler;
|
||||
} PCPROPERTY_ITEM, *PPCPROPERTY_ITEM;
|
||||
|
||||
typedef struct _PCPROPERTY_REQUEST
|
||||
{
|
||||
PUNKNOWN MajorTarget;
|
||||
PUNKNOWN MinorTarget;
|
||||
ULONG Node;
|
||||
const PCPROPERTY_ITEM* PropertyItem;
|
||||
ULONG Verb;
|
||||
ULONG InstanceSize;
|
||||
PVOID Instance;
|
||||
ULONG ValueSize;
|
||||
PVOID Value;
|
||||
PIRP Irp;
|
||||
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;
|
||||
|
||||
|
||||
struct _PCEVENT_REQUEST;
|
||||
|
||||
typedef NTSTATUS (*PCPFNEVENT_HANDLER)(
|
||||
IN struct _PCEVENT_REQUEST* EventRequest);
|
||||
|
||||
typedef struct _PCEVENT_ITEM
|
||||
{
|
||||
const GUID* Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
PCPFNEVENT_HANDLER Handler;
|
||||
} PCEVENT_ITEM, *PPCEVENT_ITEM;
|
||||
|
||||
typedef struct _PCEVENT_REQUEST
|
||||
{
|
||||
PUNKNOWN MajorTarget;
|
||||
PUNKNOWN MinorTarget;
|
||||
ULONG Node;
|
||||
const PCEVENT_ITEM* EventItem;
|
||||
PKSEVENT_ENTRY EventEntry;
|
||||
ULONG Verb;
|
||||
PIRP Irp;
|
||||
} PCEVENT_REQUEST, *PPCEVENT_REQUEST;
|
||||
|
||||
|
||||
struct _PCMETHOD_REQUEST;
|
||||
|
||||
typedef NTSTATUS (*PCPFNMETHOD_HANDLER)(
|
||||
IN struct _PCMETHOD_REQUEST* MethodRequest);
|
||||
|
||||
typedef struct _PCMETHOD_ITEM
|
||||
{
|
||||
const GUID* Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
PCPFNMETHOD_HANDLER Handler;
|
||||
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;
|
||||
|
||||
typedef struct _PCMETHOD_REQUEST
|
||||
{
|
||||
PUNKNOWN MajorTarget;
|
||||
PUNKNOWN MinorTarget;
|
||||
ULONG Node;
|
||||
const PCMETHOD_ITEM* MethodItem;
|
||||
ULONG Verb;
|
||||
} PCMETHOD_REQUEST, *PPCMETHOD_REQUEST;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Structures (unsorted)
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG PropertyItemSize;
|
||||
ULONG PropertyCount;
|
||||
const PCPROPERTY_ITEM* Properties;
|
||||
ULONG MethodItemSize;
|
||||
ULONG MethodCount;
|
||||
const PCMETHOD_ITEM* Methods;
|
||||
ULONG EventItemSize;
|
||||
ULONG EventCount;
|
||||
const PCEVENT_ITEM* Events;
|
||||
ULONG Reserved;
|
||||
} PCAUTOMATION_TABLE, *PPCAUTOMATION_TABLE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG FromNode;
|
||||
ULONG FromNodePin;
|
||||
ULONG ToNode;
|
||||
ULONG ToNodePin;
|
||||
} PCCONNECTION_DESCRIPTOR, *PPCCONNECTIONDESCRIPTOR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG MaxGlobalInstanceCount;
|
||||
ULONG MaxFilterInstanceCount;
|
||||
ULONG MinFilterInstanceCount;
|
||||
const PCAUTOMATION_TABLE* AutomationTable;
|
||||
KSPIN_DESCRIPTOR KsPinDescriptor;
|
||||
} PCPIN_DESCRIPTOR, *PPCPIN_DESCRIPTOR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Flags;
|
||||
const PCAUTOMATION_TABLE* AutomationTable;
|
||||
const GUID* Type;
|
||||
const GUID* Name;
|
||||
} PCNODE_DESCRIPTOR, *PPCNODE_DESCRIPTOR;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Version;
|
||||
const PCAUTOMATION_TABLE* AutomationTable;
|
||||
ULONG PinSize;
|
||||
ULONG PinCount;
|
||||
const PCPIN_DESCRIPTOR* Pins;
|
||||
ULONG NodeSize;
|
||||
ULONG NodeCount;
|
||||
const PCNODE_DESCRIPTOR* Nodes;
|
||||
ULONG ConnectionCount;
|
||||
const PCCONNECTION_DESCRIPTOR* Connections;
|
||||
ULONG CategoryCount;
|
||||
const GUID* Categories;
|
||||
} PCFILTER_DESCRIPTOR, *PPCFILTER_DESCRIPTOR;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IPort Interface
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* TODO */
|
||||
} IPort;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
PortCls API Functions
|
||||
*/
|
||||
|
||||
typedef NTSTATUS (*PCPFNSTARTDEVICE)(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
IN PRESOURCELIST ResourceList);
|
||||
|
||||
/* This should be in NTDDK.H */
|
||||
typedef NTSTATUS (*PDRIVER_ADD_DEVICE)(
|
||||
IN struct _DRIVER_OBJECT* DriverObject,
|
||||
IN struct _DEVICE_OBJECT* PhysicalDeviceObject);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcAddAdapterDevice(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||
IN PCPFNSTARTDEVICE StartDevice,
|
||||
IN ULONG MaxObjects,
|
||||
IN ULONG DeviceExtensionSize);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcInitializeAdapterDriver(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PUNICODE_STRING RegistryPathName,
|
||||
IN PDRIVER_ADD_DEVICE AddDevice);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Factories (TODO: Move elsewhere)
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewDmaChannel(
|
||||
OUT PDMACHANNEL* OutDmaChannel,
|
||||
IN PUNKNOWN OuterUnknown OPTIONAL,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PDEVICE_DESCRIPTION DeviceDescription,
|
||||
IN PDEVICE_OBJECT DeviceObject);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewInterruptSync(
|
||||
OUT PINTERRUPTSYNC* OUtInterruptSync,
|
||||
IN PUNKNOWN OuterUnknown OPTIONAL,
|
||||
IN PRESOURCELIST ResourceList,
|
||||
IN ULONG ResourceIndex,
|
||||
IN INTERRUPTSYNCMODE Mode);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewMiniport(
|
||||
OUT PMINIPORT* OutMiniport,
|
||||
IN REFCLSID ClassId);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewPort(
|
||||
OUT PPORT* OutPort,
|
||||
IN REFCLSID ClassId);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewResourceSublist(
|
||||
OUT PRESOURCELIST* OutResourceList,
|
||||
IN PUNKNOWN OuterUnknown OPTIONAL,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PRESOURCELIST ParentList,
|
||||
IN ULONG MaximumEntries);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcNewServiceGroup(
|
||||
OUT PSERVICEGROUP* OutServiceGroup,
|
||||
IN PUNKNOWN OuterUnknown OPTIONAL);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IRP Handling
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcDispatchirp(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcCompleteIrp(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
IN NTSTATUS Status);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcForwardIrpSynchronous(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Power Management
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterAdapterPowerManagement(
|
||||
IN PUNKNOWN pUnknown,
|
||||
IN PVOID pvContext1);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
IN PDEVICE_OBJECT pDeviceObject,
|
||||
IN DEVICE_POWER_STATE RequestedNewState);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Properties
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcGetDeviceProperty(
|
||||
IN PVOID DeviceObject,
|
||||
IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
|
||||
IN ULONG BufferLength,
|
||||
OUT PVOID PropertyBuffer,
|
||||
OUT PULONG ResultLength);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcCompletePendingPropertyRequest(
|
||||
IN PPCPROPERTY_REQUEST PropertyRequest,
|
||||
IN NTSTATUS NtStatus);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
I/O Timeouts
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterIoTimeout(
|
||||
IN PDEVICE_OBJECT pDeviceObject,
|
||||
IN PIO_TIMER_ROUTINE pTimerRoutine,
|
||||
IN PVOID pContext);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcUnregisterIoTimeout(
|
||||
IN PDEVICE_OBJECT pDeviceObject,
|
||||
IN PIO_TIMER_ROUTINE pTimerRoutine,
|
||||
IN PVOID pContext);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Physical Connections
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterPhysicalConnection(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PUNKNOWN FromUnknown,
|
||||
IN ULONG FromPin,
|
||||
IN PUNKNOWN ToUnknown,
|
||||
IN ULONG ToPin);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterPhysicalConnectionFromExternal(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PUNICODE_STRING FromString,
|
||||
IN ULONG FromPin,
|
||||
IN PUNKNOWN ToUnknown,
|
||||
IN ULONG ToPin);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterPhysicalConnectionToExternal(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PUNKNOWN FromUnknown,
|
||||
IN ULONG FromPin,
|
||||
IN PUNICODE_STRING ToString,
|
||||
IN ULONG ToPin);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Misc
|
||||
*/
|
||||
|
||||
PORTCLASSAPI ULONGLONG NTAPI
|
||||
PcGetTimeInterval(
|
||||
IN ULONGLONG Since);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcRegisterSubdevice(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PWCHAR Name,
|
||||
IN PUNKNOWN Unknown);
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
Digital Rights Management Functions
|
||||
*/
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcAddContentHandlers(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID *paHandlers,
|
||||
IN ULONG NumHandlers);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcCreateContentMixed(
|
||||
IN PULONG paContentId,
|
||||
IN ULONG cContentId,
|
||||
OUT PULONG pMixedContentId);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcDestroyContent(
|
||||
IN ULONG ContentId);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcForwardContentToDeviceObject(
|
||||
IN ULONG ContentId,
|
||||
IN PVOID Reserved,
|
||||
IN PCDRMFORWARD DrmForward);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcForwardContentToFileObject(
|
||||
IN ULONG ContentId,
|
||||
IN PFILE_OBJECT FileObject);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcForwardContentToInterface(
|
||||
IN ULONG ContentId,
|
||||
IN PUNKNOWN pUnknown,
|
||||
IN ULONG NumMethods);
|
||||
|
||||
PORTCLASSAPI NTSTATUS NTAPI
|
||||
PcGetContentRights(
|
||||
IN ULONG ContentId,
|
||||
OUT PDRMRIGHTS DrmRights);
|
||||
|
||||
|
||||
#endif
|
|
@ -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>
|
||||
|
|
5
reactos/drivers/multimedia/ks/ks.rc
Normal file
5
reactos/drivers/multimedia/ks/ks.rc
Normal file
|
@ -0,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>
|
87
reactos/drivers/multimedia/portcls/adapter.c
Normal file
87
reactos/drivers/multimedia/portcls/adapter.c
Normal file
|
@ -0,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;
|
||||
}
|
29
reactos/drivers/multimedia/portcls/dll.c
Normal file
29
reactos/drivers/multimedia/portcls/dll.c
Normal file
|
@ -0,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;
|
||||
}
|
73
reactos/drivers/multimedia/portcls/drm.c
Normal file
73
reactos/drivers/multimedia/portcls/drm.c
Normal file
|
@ -0,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);
|
||||
}
|
|
@ -1,489 +0,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;
|
||||
}
|
||||
|
|
@ -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 @@ PcNewRegistryKey@36
|
|||
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
|
||||
PcRequestNewPowerState@8
|
||||
PcUnregisterIoTimeout@12
|
||||
|
||||
; Power Management
|
||||
PcRegisterAdapterPowerManagement@8
|
||||
PcRequestNewPowerState@8
|
||||
|
||||
; Properties
|
||||
PcCompletePendingPropertyRequest@8
|
||||
PcGetDeviceProperty@20
|
||||
|
||||
; Timeouts
|
||||
PcRegisterIoTimeout@12
|
||||
PcUnregisterIoTimeout@12
|
||||
|
|
|
@ -1,253 +0,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
|
|
@ -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>
|
||||
|
|
338
reactos/drivers/multimedia/portcls/stubs.c
Normal file
338
reactos/drivers/multimedia/portcls/stubs.c
Normal file
|
@ -0,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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue