AtaPortInitializeEx-Funktion (irb.h)
Die AtaPortInitializeEx ATA-Porttreiberbibliothek initialisiert die Port- und Miniporttreiber.
Syntax
ULONG AtaPortInitializeEx(
[in] PVOID DriverObject,
[in] PVOID RegistryPath,
[in] PIDE_CONTROLLER_INTERFACE ControllerInterface
);
Parameter
[in] DriverObject
Ein Zeiger auf das Miniporttreiberobjekt.
[in] RegistryPath
Enthält eine Unicode-Zeichenfolge, die den Speicherort in der Registrierung angibt, an dem die Informationen zur Miniporttreiberkonfiguration gespeichert sind.
[in] ControllerInterface
Enthält die Einstiegspunkte für die AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabledund AtaControllerTransferModeSelect Routinen.
Rückgabewert
AtaPortInitializeEx gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls wird ein Fehlercode zurückgegeben.
Bemerkungen
Die AtaPortInitializeEx Routine initialisiert wichtige Datenstrukturen, die von den Port- und Miniporttreibern verwendet werden. Außerdem wird die Initialisierung der Kanäle des Controllers gestartet. Die folgende Sequenz beschreibt die wichtigsten Aktionen, die von dieser Routine ausgeführt werden:
- Während der DriverEntry Routine ruft der Miniporttreiber die AtaPortInitializeEx Bibliotheksroutine auf und übergibt ihn die folgenden Schlüsselparameter:
- ControllerInterface: Enthält die Einstiegspunkte für die AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabledund AtaControllerTransferModeSelect Routinen.
- Die AtaPortInitializeEx Routine initialisiert wichtige Datenstrukturen, die von den Port- und Miniporttreibern verwendet werden, und führt die folgenden Aktionen aus:
- Initialisiert die Verteilertabellen des Miniporttreibers.
- Weist eine Erweiterung für das Treiberobjekt zu.
- Kopiert ControllerInterface in die Treibererweiterung.
- Nachdem AtaPortInitializeEx die Initialisierung des Porttreibers abgeschlossen hat, kehrt sie zur DriverEntry Routine des Miniporttreibers zurück.
- Beim Starten des Adaptergeräts wird die Miniporttreiberroutine AtaAdapterControl vom Porttreiber mit Steuerungsaktion IdeStartaufgerufen.
- Wenn der ATA-Porttreiber eine Startanforderung eines Kanalgeräts verarbeitet, wird die Miniporttreiberroutine AtaControllerChannelEnabled für jeden Kanal auf dem Controller aufgerufen, um festzustellen, ob er aktiviert ist.
- Nachdem die AtaControllerChannelEnabled Routine bestimmt, welche Kanäle aktiviert sind, ruft der ATA-Porttreiber AtaChannelInitRoutine für diesen Kanal auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | irb.h (include Ata.h, Irb.h) |
Library | Pciidex.lib |