IDE_CHANNEL_ENABLED funzione di callback (irb.h)

La routine del driver miniport AtaControllerChannelEnabled indica se il canale specificato è abilitato.

Nota

I modelli di driver di porta ATA e ATA miniport possono essere modificati o non disponibili in futuro. È invece consigliabile usare i modelli di driver Storport e Miniport Storport.

Sintassi

IDE_CHANNEL_ENABLED IdeChannelEnabled;

ATA_CHANNEL_STATE IdeChannelEnabled(
  PVOID ControllerExtension,
  ULONG Channel
)
{...}

Parametri

ControllerExtension

[in] Puntatore all'estensione del controller.

Channel

[in] Canale da abilitare.

Valore restituito

AtaControllerChannelEnabled restituisce un valore enumeratore di tipo ATA_CHANNEL_STATE, che può avere uno dei valori seguenti:

Codice restituito Significato
ChannelStateEnabled Indica che il canale specificato è abilitato.
ChannelStateDisabled Indica che il canale specificato è disabilitato.
ChannelStateUnKnown Indica che non è stato possibile determinare lo stato del canale.

Commenti

La sequenza seguente descrive come il driver miniport e il driver di porta interagiscono per determinare quali canali controller sono abilitati:

  1. Il driver di porta chiama la routine AtaAdapterControl del driver miniport con l'azione di controllo IdeStart.

  2. Mentre il driver miniport elabora la routine AtaAdapterControl con l'azione di controllo IdeStart, inizializza il membro NumberOfChannels di IDE_CONTROLLER_CONFIGURATION per indicare il numero di canali abilitati.

  3. Dopo aver restituito la routine AtaAdapterControl , il driver di porta chiama AtaControllerChannelEnabled una volta per ogni NumberOfChannels specificato nella struttura ControllerConfiguration restituito da AtaAdapterControl.

Questa routine non deve avere passaggi critici per l'operazione del controller. Esistono situazioni, ad esempio durante un'operazione di arresto anomalo, in cui questa funzione non verrà chiamata affatto. Inoltre, questa funzione non viene chiamata quando viene riavviato un canale, solo quando PCIIDEx risponde a un'IRP queryDeviceRelations.

AtaControllerChannelEnabled è una routine facoltativa. Se il driver miniport non implementa questa routine, il driver della porta caricherà un gestore predefinito. Se il driver di porta carica un gestore predefinito, tutti i canali specificati da NumberOfChannels nella struttura ControllerConfiguration restituito da AtaAdapterControl durante la gestione di un'azione IdeStart vengono considerati abilitati. Questa routine consente a PCIIDEx di caricare il driver di porta ATA solo per i canali abilitati. In questo modo è possibile supportare il canale sparse (ad esempio, canale 0, canale 1, canale 3, canale 4 e canale 6, ma non canale 2 e canale 5).

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione irb.h (includere Irb.h)

Vedi anche

IDE_CONTROLLER_CONFIGURATION