AtaPortInitializeEx-Funktion (irb.h)

Die AtaPortInitializeEx ATA-Porttreiberbibliotheksroutine initialisiert die Port- und Miniporttreiber.

Hinweis Die Modelle des ATA-Porttreibers und des ATA-Miniporttreibers können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und des Storport-Miniporttreibermodells .

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 werden.

[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. Die folgende Sequenz beschreibt die wichtigsten Aktionen, die von dieser Routine ausgeführt werden:

  1. In seiner DriverEntry-Routine ruft der Miniporttreiber die AtaPortInitializeEx-Bibliotheksroutine des Porttreibers auf und übergibt sie an die folgenden Schlüsselparameter:
    • 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. Ordnet eine Erweiterung für das Treiberobjekt zu.
    3. Kopiert ControllerInterface in die Treibererweiterung.
    4. Nachdem AtaPortInitializeEx die Initialisierung des Porttreibers abgeschlossen hat, kehrt er zur DriverEntry-Routine des Miniporttreibers zurück.
  3. Beim Starten des Adaptergeräts wird die Miniporttreiberroutine AtaAdapterControl vom Porttreiber mit der Steuerungsaktion 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

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

Siehe auch

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION