Freigeben über


Erforderliche und optionale SCSI-Miniporttreiberroutinen

Für die HwScsiXxx-Routinen eines Miniporttreibers kann ein beliebiger Name vom Treiberschreiber ausgewählt werden. DriverEntry ist ein erforderlicher Name.

Jeder SCSI-Miniporttreiber muss mindestens über die folgenden systemdefinierte Routinen verfügen:

Erforderliche Routine BESCHREIBUNG
DriverEntry Initialisiert den Miniporttreiber.
HwScsiFindAdapter Bestimmt, wie (oder ob) vom Treiber unterstützte Host Bus-Adapter (HBAs) auf dem Computer konfiguriert werden
HwScsiInitialize Initialisiert unterstützte HBA(s)
HwScsiStartIo Startet Vorgänge für die HBA(en) des Miniports für eingehende Anforderungen.
HwScsiResetBus Verarbeitet Anforderungen zum Zurücksetzen von Bussen

Je nach HBA und Treiber-Designer verfügen SCSI-Miniporttreiber auch über einige oder alle der folgenden systemdefinierte Routinen:

-Routine zurückgegebener Wert BESCHREIBUNG
HwScsiInterrupt Verarbeitet HBA-generierte Interrupts. Dies ist optional, wenn der HBA keine Interrupts generiert, sodass der Miniporttreiber alle E/A-Vorgänge in seinem HBA durch Abfragen verwaltet. Die ausschließliche Verwendung von Polling wirkt sich jedoch negativ auf die Leistung eines Miniporttreibers und den E/A-Durchsatz des HBA aus. Ein solcher Miniporttreiber sollte auch über eine HwScsiTimer-Routine verfügen.
HwScsiDisableInterruptsCallback und HwScsiEnableInterruptsCallback Führen Sie verzögerte E/A-Verarbeitung durch, wenn unterbrechungsgesteuerte E/A-Vorgänge lange dauern.
HwScsiTimer Malvorgänge, die lange Verzögerungen für den HBA erfordern, oder für einen anderen vom Treiber-Designer festgelegten Zweck. Ein Miniporttreiber sollte über eine HwScsiTimer-Routine verfügen, wenn er über keine HwScsiInterrupt-Routine verfügt, damit er die HwScsiTimer-Routine für eine effiziente Abfrage seines HBA verwenden kann.
HwScsiDmaStarted Erforderlich, wenn der HBA einen System-DMA-Controller verwendet, um eine HBA-Übertragung einzurichten, nachdem der System-DMA-Controller vom Porttreiber programmiert wurde.
HwScsiAdapterState Optional, wenn und nur, wenn der HBA über keinen BIOS- oder x86-Realmodustreiber verfügt und/oder nie in x86-reinen Microsoft Windows-Systemen ausgeführt wird.
HwScsiAdapterControl Erforderlich, wenn der Miniporttreiber Plug & Play unterstützt.
HwScsiWmiExecuteMethod Führt eine Methode aus, die einem Datenblock zugeordnet ist. Diese Routine ist optional.
HwScsiWmiFunctionControl Aktiviert oder deaktiviert die Benachrichtigung über Ereignisse und aktiviert oder deaktiviert auch die Datensammlung für Datenblöcke, die vom Miniporttreiber als teuer eingestuft wurden. Optional.
HwScsiWmiQueryDataBlock Ruft entweder eine einzelne instance oder alle Instanzen eines Datenblocks ab. Erforderlich.
HwScsiWmiQueryReginfo Ruft Informationen zu den Daten- und Ereignisblöcken ab, die im Auftrag des Miniporttreibers vom SCSI-Porttreiber registriert werden sollen. Erforderlich.
HwScsiWmiSetDataBlock Ändert alle Datenelemente in einem einzelnen instance eines Datenblocks. Optional.
HwScsiWmiSetDataItem Ändert ein einzelnes Datenelement in einer instance eines Datenblocks. Optional.

Für jede der vorherigen Miniporttreiberroutinen mit Ausnahme von DriverEntry wurde ein Name ausgewählt, um die Funktionalität zu beschreiben. Mit Ausnahme von DriverEntry, der ein erforderlicher Name für den anfänglichen Einstiegspunkt jedes Miniporttreibers ist, können Namen für Miniporttreiberroutinen alles sein, was der Treiberschreiber wählt.

Fehlerbehandlung in SCSI-Miniporttreibern beschreibt Die Fehlerbehandlungsanforderungen für SCSI-Miniporttreiber.