IDE_CHANNEL_ENABLED Rückruffunktion (irb.h)
Die AtaControllerChannelEnabled Miniporttreiberroutine gibt an, ob der angegebene Kanal aktiviert ist.
Anmerkung
Der ATA-Porttreiber und die ATA Miniport-Treibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
Syntax
IDE_CHANNEL_ENABLED IdeChannelEnabled;
ATA_CHANNEL_STATE IdeChannelEnabled(
PVOID ControllerExtension,
ULONG Channel
)
{...}
Parameter
ControllerExtension
[in] Ein Zeiger auf die Controllererweiterung.
Channel
[in] Der zu aktivierende Kanal.
Rückgabewert
AtaControllerChannelEnabled gibt einen Enumerationswert vom Typ ATA_CHANNEL_STATEzurück, der einen der folgenden Werte aufweisen kann:
Rückgabecode | Bedeutung |
---|---|
ChannelStateEnabled | Gibt an, dass der angegebene Kanal aktiviert ist. |
ChannelStateDisabled | Gibt an, dass der angegebene Kanal deaktiviert ist. |
ChannelStateUnKnown | Gibt an, dass der Status des Kanals nicht bestimmt werden konnte. |
Bemerkungen
Die folgende Sequenz beschreibt, wie der Miniporttreiber und der Porttreiber interagieren, um zu bestimmen, welche Controllerkanäle aktiviert sind:
Der Porttreiber ruft die AtaAdapterControl Routine des Miniporttreibers mit Steuerelementaktion IdeStart-auf.
Während der Miniporttreiber die AtaAdapterControl Routine mit Steuerelementaktion IdeStartverarbeitet, initialisiert er das NumberOfChannels Member von IDE_CONTROLLER_CONFIGURATION, um die Anzahl der aktivierten Kanäle anzugeben.
Nachdem die AtaAdapterControl Routine zurückgegeben wurde, ruft der Porttreiber AtaControllerChannelEnabled einmal für jede in der ControllerConfiguration-Struktur angegebene NumberOfChannels auf, die von AtaAdapterControlzurückgegeben werden.
Diese Routine sollte keine Schritte aufweisen, die für den Betrieb des Controllers von entscheidender Bedeutung sind. Es gibt Situationen, z. B. während eines Absturzdumpvorgangs, in denen diese Funktion überhaupt nicht aufgerufen wird. Darüber hinaus wird diese Funktion nicht aufgerufen, wenn ein Kanal neu gestartet wird, nur wenn PCIIDEx auf ein QueryDeviceRelations-IRP antwortet.
AtaControllerChannelEnabled ist eine optionale Routine. Wenn der Miniporttreiber diese Routine nicht implementiert, lädt der Porttreiber einen Standardhandler. Wenn der Porttreiber einen Standardhandler lädt, werden alle Kanäle, die von NumberOfChannels in der ControllerConfiguration-Struktur angegeben werden, die von AtaAdapterControl beim Behandeln einer IdeStart-Aktion zurückgegeben wird, als aktiviert angenommen. Diese Routine ermöglicht PCIIDEx das Laden des ATA-Porttreibers nur für die aktivierten Kanäle. Dies ermöglicht eine geringe Kanalunterstützung (z. B. Kanal 0, Kanal 1, Kanal 3, Kanal 4 und Kanal 6, aber nicht Kanal 2 und Kanal 5).
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | irb.h (include Irb.h) |