Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Required routines
Die folgenden Routinen werden von einem WDM-Readertreiber benötigt.
DriverEntry
Initialisiert das Treiberobjekt und die Verteilertabelle.
AddDevice
Erstellt ein Geräteobjekt für den Smartcardleser. In addition, AddDevice can call any of the following driver library routines:
- SmartcardInitialize (WDM) to complete driver initialization. Calling this routine in AddDevice is obligatory.
- SmartcardLogError (WDM) to log an error. Drivers must call this routine in AddDevice if SmartcardInitialize (WDM) fails.
- SmartcardCreateLink (WDM) to create a symbolic link for the reader device in the registry.
Unload
Entfernt den Treiber aus dem System.
DispatchCreate
-and-
DispatchClose
Supports IRP_MJ_CREATE and IRP_MJ_CLOSE<, respectively. To establish a connection to the reader, the resource manager sends IRP_MJ_CREATE to the reader driver. To sever the connection, the resource manager sends IRP_MJ_CLOSE.
DispatchCleanup
Supports IRP_MJ_CLEANUP, which the resource manager sends to the reader driver to cancel pending I/O requests.
DispatchPnP
Supports IRP_MJ_PNP
DispatchPower
Supports IRP_MJ_POWER.
DispatchDeviceControl
Supports IRP_MJ_DEVICE_CONTROL and is the main entry point for smart card requests. Upon receiving IRP_MJ_DEVICE_CONTROL, DispatchDeviceControl must immediately call SmartcardDeviceControl (WDM), which is the smart card driver library routine that handles device-control requests. Das folgende Codebeispiel zeigt, wie Sie diese Bibliotheksroutine von einem WDM-Treiber aufrufen:
NTSTATUS
DriverDeviceControl(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
)
{
PDEVICE_EXTENSION deviceExtension = DeviceObject -> DeviceExtension;
return SmartcardDeviceControl(
&(deviceExtension->SmartcardExtension),
Irp
);
If it is unable to handle the particular IOCTL that is indicated in the call, SmartcardDeviceControl will call the driver's callback for unknown IOCTL requests.