Freigeben über


AtaPortInitializeEx-Funktion (irb.h)

Die AtaPortInitializeEx-Porttreiberbibliotheksroutine initialisiert die Port- und Miniporttreiber.

Hinweis Die Modelle ATA-Porttreiber und ATA-Miniporttreiber können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

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 Konfigurationsinformationen des Miniporttreibers gespeichert sind.

[in] ControllerInterface

Enthält die Einstiegspunkte für die Routinen AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled und AtaControllerTransferModeSelect .

Rückgabewert

AtaPortInitializeEx gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls wird ein Fehlercode zurückgegeben.

Hinweise

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. In der folgenden Sequenz werden die wichtigsten Aktionen beschrieben, die von dieser Routine ausgeführt werden:

  1. Während der DriverEntry-Routine ruft der Miniporttreiber die AtaPortInitializeEx-Bibliotheksroutine des Porttreibers auf und übergibt ihm die folgenden wichtigen Parameter:
    • ControllerInterface: Enthält die Einstiegspunkte für die Routinen AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled und AtaControllerTransferModeSelect .
  2. Die AtaPortInitializeEx-Routine initialisiert wichtige Datenstrukturen, die von den Port- und Miniporttreibern verwendet werden, und führt die folgenden Aktionen aus:
    1. Initialisiert die Dispatchtabellen des Miniporttreibers.
    2. Weist eine Erweiterung für das Treiberobjekt zu.
    3. Kopiert ControllerInterface in die Treibererweiterung.
    4. Nachdem AtaPortInitializeEx die Initialisierung des Porttreibers abgeschlossen hat, kehrt es zur DriverEntry-Routine des Miniporttreibers zurück.
  3. Beim Starten des Adaptergeräts wird die Miniporttreiberroutine AtaAdapterControl vom Porttreiber mit der Steueraktion IdeStart aufgerufen.
  4. Wenn der ATA-Porttreiber eine Kanalgerätestartanforderung verarbeitet, wird die Miniporttreiberroutine AtaControllerChannelEnabled für jeden Kanal auf dem Controller aufgerufen, um zu bestimmen, ob er aktiviert ist.
  5. Nachdem die AtaControllerChannelEnabled-Routine ermittelt hat, welche Kanäle aktiviert sind, ruft der ATA-Porttreiber AtaChannelInitRoutine für diesen Kanal auf.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile irb.h (include Ata.h, Irb.h)
Bibliothek Pciidex.lib

Weitere Informationen

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION