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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für