Hauptseite   Übersicht   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

Driver.h Dateireferenz

#include <WDM.h>
#include "Unicode.h"

gehe zum Quellcode dieser Datei

Übersicht

struct  _DEVICE_EXTENSION

Makrodefinitionen

#define DATA_REG   0
#define STATUS_REG   1
#define CONTROL_REG   2
#define STS_NOT_IRQ   0x04
#define STS_NOT_ERR   0x08
#define STS_SELCTD   0x10
#define STS_PE   0x20
#define STS_NOT_ACK   0x40
#define STS_NOT_BSY   0x80
#define CTL_STROBE   0x01
#define CTL_AUTOLF   0x02
#define CTL_NOT_RST   0x04
#define CTL_SELECT   0x08
#define CTL_INTENB   0x10
#define CTL_DEFAULT   0xC0
#define ReadStatus(pDevExt)
#define ReadControl(pDevExt)
#define WriteControl(pDevExt, bData)
#define WriteData(pDevExt, bData)

Typendefinitionen

typedef _DEVICE_EXTENSION DEVICE_EXTENSION
typedef _DEVICE_EXTENSIONPDEVICE_EXTENSION

Aufzählungen

enum  DRIVER_STATE { Stopped, Started, Removed }

Funktionen

NTSTATUS DriverEntry (PDRIVER_OBJECT pDriverObject,\PUNICODE_STRING pRegistryPath)
 Wird beim erstmaligen Laden des Treibers aufgerufen. Initialisiert den Treiber.


Makro-Dokumentation

#define CONTROL_REG   2
 

#define CTL_AUTOLF   0x02
 

#define CTL_DEFAULT   0xC0
 

#define CTL_INTENB   0x10
 

#define CTL_NOT_RST   0x04
 

#define CTL_SELECT   0x08
 

#define CTL_STROBE   0x01
 

#define DATA_REG   0
 

#define ReadControl pDevExt   
 

Wert:

(READ_PORT_UCHAR(                                                       \
  pDevExt->PortBase + CONTROL_REG ))

#define ReadStatus pDevExt   
 

Wert:

(READ_PORT_UCHAR(                                                       \
  pDevExt->portBase + STATUS_REG ))

#define STATUS_REG   1
 

#define STS_NOT_ACK   0x40
 

#define STS_NOT_BSY   0x80
 

#define STS_NOT_ERR   0x08
 

#define STS_NOT_IRQ   0x04
 

#define STS_PE   0x20
 

#define STS_SELCTD   0x10
 

#define WriteControl pDevExt,
bData   
 

Wert:

(WRITE_PORT_UCHAR(                                                      \
  pDevExt->portBase + CONTROL_REG, bData ))

#define WriteData pDevExt,
bData   
 

Wert:

(WRITE_PORT_UCHAR(                                              \
  pDevExt->portBase + DATA_REG, bData ))


Dokumentation der benutzerdefinerten Typen

typedef struct _DEVICE_EXTENSION DEVICE_EXTENSION
 

typedef struct _DEVICE_EXTENSION * PDEVICE_EXTENSION
 


Dokumentation der Aufzählungstypen

enum DRIVER_STATE
 

Aufzählungswerte:
Stopped 
Started 
Removed 


Dokumentation der Funktionen

NTSTATUS DriverEntry PDRIVER_OBJECT    pDriverObject,
\PUNICODE_STRING    pRegistryPath
 

Wird beim erstmaligen Laden des Treibers aufgerufen. Initialisiert den Treiber.

Parameter:
pDriverObject  Wird vom PNP-Manager übergeben und repräsentiert den Treiber im Kernel.
pRegistryPath  Dieser Zeiger auf einen Unicode-String entspricht dem Schlüssel aus der Registry für diesen Treiber. In userem Beispiel nicht von Belang.
Rückgabe :
Rückgabewert ist ein NTSTATUS-Code (LONG), der Erfolg bzw. Fehlercode signalisiert. Die Auswertung erfolgt mittels des Makros NT_SUCCESS.


Erzeugt am Thu Jun 19 23:00:24 2003 von doxygen1.2.17