ReactOS 0.4.15-dev-8100-g1887773
parport.c File Reference
#include "parport.h"
Include dependency graph for parport.c:

Go to the source code of this file.

Functions

static VOID NTAPI DriverUnload (IN PDRIVER_OBJECT DriverObject)
 
static NTSTATUS NTAPI DispatchCreate (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchCleanup (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchRead (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchWrite (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchPnp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchPower (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
NTSTATUS NTAPI DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegPath)
 

Variables

static DRIVER_UNLOAD DriverUnload
 
static DRIVER_DISPATCH DispatchCreate
 
static DRIVER_DISPATCH DispatchClose
 
static DRIVER_DISPATCH DispatchCleanup
 
static DRIVER_DISPATCH DispatchPnp
 
static DRIVER_DISPATCH DispatchPower
 
DRIVER_INITIALIZE DriverEntry
 

Function Documentation

◆ DispatchCleanup()

static NTSTATUS NTAPI DispatchCleanup ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 58 of file parport.c.

60{
61 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
63 else
65}
_In_ PIRP Irp
Definition: csq.h:116
NTSTATUS NTAPI FdoCleanup(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:462
NTSTATUS NTAPI PdoCleanup(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:67
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055

◆ DispatchClose()

static NTSTATUS NTAPI DispatchClose ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 45 of file parport.c.

47{
48 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
49 return FdoClose(DeviceObject, Irp);
50 else
51 return PdoClose(DeviceObject, Irp);
52}
NTSTATUS NTAPI FdoClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:442
NTSTATUS NTAPI PdoClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:47

◆ DispatchCreate()

static NTSTATUS NTAPI DispatchCreate ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 32 of file parport.c.

34{
35 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
36 return FdoCreate(DeviceObject, Irp);
37 else
38 return PdoCreate(DeviceObject, Irp);
39}
NTSTATUS NTAPI FdoCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:409
NTSTATUS NTAPI PdoCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:14

◆ DispatchPnp()

static NTSTATUS NTAPI DispatchPnp ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 97 of file parport.c.

99{
100 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
101 return FdoPnp(DeviceObject, Irp);
102 else
103 return PdoPnp(DeviceObject, Irp);
104}
NTSTATUS NTAPI FdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:505
NTSTATUS NTAPI PdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:161

◆ DispatchPower()

static NTSTATUS NTAPI DispatchPower ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 110 of file parport.c.

112{
113 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
114 return FdoPower(DeviceObject, Irp);
115 else
116 return PdoPower(DeviceObject, Irp);
117}
NTSTATUS NTAPI FdoPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:607
NTSTATUS NTAPI PdoPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:175

◆ DispatchRead()

static NTSTATUS NTAPI DispatchRead ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 71 of file parport.c.

73{
74 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
75 return FdoRead(DeviceObject, Irp);
76 else
77 return PdoRead(DeviceObject, Irp);
78}
NTSTATUS NTAPI FdoRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:477
NTSTATUS NTAPI PdoRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:81

Referenced by DriverEntry().

◆ DispatchWrite()

static NTSTATUS NTAPI DispatchWrite ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 84 of file parport.c.

86{
87 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
88 return FdoWrite(DeviceObject, Irp);
89 else
90 return PdoWrite(DeviceObject, Irp);
91}
NTSTATUS NTAPI FdoWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:491
NTSTATUS NTAPI PdoWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:95

Referenced by DriverEntry().

◆ DriverEntry()

NTSTATUS NTAPI DriverEntry ( IN PDRIVER_OBJECT  DriverObject,
IN PUNICODE_STRING  RegPath 
)

Definition at line 122 of file parport.c.

124{
125 ULONG i;
126
127 DPRINT("Parport DriverEntry\n");
128
129 DriverObject->DriverUnload = DriverUnload;
130 DriverObject->DriverExtension->AddDevice = AddDevice;
131
132 for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
133 DriverObject->MajorFunction[i] = ForwardIrpAndForget;
134
135 DriverObject->MajorFunction[IRP_MJ_CREATE] = DispatchCreate;
136 DriverObject->MajorFunction[IRP_MJ_CLOSE] = DispatchClose;
138 DriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;
139 DriverObject->MajorFunction[IRP_MJ_WRITE] = DispatchWrite;
140// DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchDeviceControl;
141// DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = DispatchQueryInformation;
142 DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPnp;
143 DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower;
144
145 return STATUS_SUCCESS;
146}
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
DRIVER_DISPATCH ForwardIrpAndForget
Definition: i8042prt.h:341
static DRIVER_DISPATCH DispatchPower
Definition: parport.c:14
static DRIVER_DISPATCH DispatchCreate
Definition: parport.c:10
static DRIVER_DISPATCH DispatchClose
Definition: parport.c:11
static DRIVER_DISPATCH DispatchCleanup
Definition: parport.c:12
static NTSTATUS NTAPI DispatchWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: parport.c:84
static DRIVER_DISPATCH DispatchPnp
Definition: parport.c:13
static DRIVER_UNLOAD DriverUnload
Definition: parport.c:9
static NTSTATUS NTAPI DispatchRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: parport.c:71
DRIVER_ADD_DEVICE AddDevice
Definition: parport.h:72
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:73
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
#define IRP_MJ_POWER
#define IRP_MJ_CLEANUP
#define IRP_MJ_MAXIMUM_FUNCTION

◆ DriverUnload()

static VOID NTAPI DriverUnload ( IN PDRIVER_OBJECT  DriverObject)
static

Definition at line 23 of file parport.c.

24{
25 DPRINT("Parport DriverUnload\n");
26}

Variable Documentation

◆ DispatchCleanup

DRIVER_DISPATCH DispatchCleanup
static

Definition at line 12 of file parport.c.

Referenced by DriverEntry().

◆ DispatchClose

DRIVER_DISPATCH DispatchClose
static

Definition at line 11 of file parport.c.

Referenced by DriverEntry().

◆ DispatchCreate

DRIVER_DISPATCH DispatchCreate
static

Definition at line 10 of file parport.c.

Referenced by DriverEntry().

◆ DispatchPnp

DRIVER_DISPATCH DispatchPnp
static

Definition at line 13 of file parport.c.

Referenced by DriverEntry().

◆ DispatchPower

DRIVER_DISPATCH DispatchPower
static

Definition at line 14 of file parport.c.

Referenced by DriverEntry().

◆ DriverEntry

DRIVER_INITIALIZE DriverEntry

Definition at line 15 of file parport.c.

◆ DriverUnload

DRIVER_UNLOAD DriverUnload
static

Definition at line 9 of file parport.c.

Referenced by DriverEntry().