Partial merge of the condrv_restructure branch, including:
[reactos.git] / reactos / drivers / multimedia / portcls.NEW / adapter.c
1 /*
2 ReactOS Kernel Streaming
3 Port Class API: Adapter initialization
4
5 Author: Andrew Greenwood
6
7 */
8
9 #include <portcls.h>
10
11
12 NTSTATUS
13 PcStartIo(
14 IN PDEVICE_OBJECT DeviceObject,
15 IN PIRP Irp)
16 {
17 /* Internal function */
18 return STATUS_UNSUCCESSFUL;
19 }
20
21 NTSTATUS
22 PcUnload(
23 IN PDRIVER_OBJECT DriverObject)
24 {
25 /* Internal function */
26 return STATUS_UNSUCCESSFUL;
27 }
28
29
30 /*
31 * @unimplemented
32 */
33 PORTCLASSAPI NTSTATUS NTAPI
34 PcInitializeAdapterDriver(
35 IN PDRIVER_OBJECT DriverObject,
36 IN PUNICODE_STRING RegistryPathName,
37 IN PDRIVER_ADD_DEVICE AddDevice)
38 {
39 /*
40 This is effectively a common DriverEntry function for PortCls drivers.
41 So it has similar responsibilities to a normal driver.
42
43 First 2 parameters are from DriverEntry.
44 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.
45 */
46
47 DriverObject->DriverExtension->AddDevice = AddDevice;
48
49 /*
50 TODO: (* = implement here, otherwise KS default)
51 IRP_MJ_CLOSE
52 * IRP_MJ_CREATE
53 IRP_MJ_DEVICE_CONTROL
54 IRP_MJ_FLUSH_BUFFERS
55 * IRP_MJ_PNP
56 * IRP_MJ_POWER
57 IRP_MJ_QUERY_SECURITY
58 IRP_MJ_READ
59 IRP_MJ_SET_SECURITY
60 * IRP_MJ_SYSTEM_CONTROL
61 IRP_MJ_WRITE
62 */
63
64 UNIMPLEMENTED;
65
66 return STATUS_SUCCESS;
67 }
68
69 /*
70 * @unimplemented
71 */
72 PORTCLASSAPI NTSTATUS NTAPI
73 PcAddAdapterDevice(
74 IN PDRIVER_OBJECT DriverObject,
75 IN PDEVICE_OBJECT PhysicalDeviceObject,
76 IN PCPFNSTARTDEVICE StartDevice,
77 IN ULONG MaxObjects,
78 IN ULONG DeviceExtensionSize)
79 {
80 /*
81 Note - after this has been called, we can
82 handle IRP_MN_START_DEVICE by calling StartDevice
83 */
84
85 UNIMPLEMENTED;
86 return STATUS_UNSUCCESSFUL;
87 }