Condividi tramite


IDE_HW_CONTROL funzione di callback (irb.h)

La routine del miniport IdeHwControl invia una notifica al driver miniport circa Plug and Play (PnP) ed eventi di alimentazione.

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

Sintassi

IDE_HW_CONTROL IdeHwControl;

BOOLEAN IdeHwControl(
  [in]      PVOID ChannelExtension,
  [in]      IDE_CONTROL_ACTION ControlAction,
  [in, out] PVOID Parameters
)
{...}

Parametri

[in] ChannelExtension

Puntatore all'estensione del canale.

[in] ControlAction

Contiene un valore enumeratore di tipo IDE_CONTROL_ACTION che indica l'azione del controllo da eseguire.

[in, out] Parameters

Puntatore a un buffer contenente i parametri associati all'azione del controllo. Questo parametro può avere uno dei valori nella tabella seguente.

Azione di controllo Parametri Descrizione
IdeStart Il parametro punta a una struttura di tipo IDE_CHANNEL_CONFIGURATION. Indica che il driver della porta sta avviando il canale.
IdeVendorDefined Il parametro punta a una struttura di tipo IDE_VENDOR_DEFINED_POWER_INFO. Indica che è in arrivo un evento di alimentazione definito dal fornitore.

Valore restituito

IdeHwControl restituisce TRUE se l'operazione ha avuto esito positivo. In caso contrario, restituisce FALSE.

Commenti

Il driver di porta assicura che non vi sia alcun I/O in sospeso sul canale prima di richiamare questa routine. Il driver miniport può avere i propri metodi di criteri di alimentazione quando il sistema entra in uno stato di alimentazione diverso. Per ottenere questo risultato, il driver miniport deve eseguire le operazioni seguenti:

  • Aggiungere uno schema di impostazione dei criteri di alimentazione nel file INF del driver miniport. È necessario un GUID per presentare un miniport driver-defined power policy. Per altre informazioni sulla direttiva delle impostazioni di risparmio energia, vedere Direttiva INF AddPowerSetting. Altre informazioni sui GUID sono disponibili in Impostazioni disco.
  • Quando la routine del driver miniport IdeHwControl viene chiamata con l'azione di controllo IdeStart:
    Controllare il campo SupportedAdvances.AdvancedChannelConfigurationSupported nella struttura ChannelConfiguration.
    Controllare il campo AdvancedChannelConfiguration->Present.VendorDefinedPower nella struttura ChannelConfiguration.
    Se i valori dei due campi elencati in precedenza sono entrambi TRUE, questa versione del driver di porta ATA supporta il risparmio energia definito dal fornitore.
    Se il driver di porta ATA supporta il risparmio energia definito dal fornitore, il driver miniport può registrarsi per gestire il risparmio energia speciale impostando i campi AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids e AdvancedChannelConfiguration->VendorDefinedPower.Guid[] (quest'ultimo deve essere il GUID dei criteri di alimentazione nel file INF del driver miniport).
  • Dopo la registrazione del risparmio energia definito dal fornitore, il driver miniport sarà in grado di ricevere chiamate alla routine IdeHwControl con l'azione di controllo IdeVendorDefined quando cambia lo schema di alimentazione del sistema.
  • Mentre il driver miniport elabora la routine IdeHwControl con l'azione di controllo IdeVendorDefined, deve eseguire le operazioni seguenti:
    Confrontare il campo SettingGuid dal campo del parametro della struttura IDE_VENDOR_DEFINED_POWER_INFO con il GUID registrato dal driver miniport per assicurarsi che la chiamata sia per questo canale. Se i GUID non corrispondono, il driver miniport deve completare la chiamata e non eseguire alcuna azione.
    Ottenere il campo Valore dal campo del parametro della struttura IDE_VENDOR_DEFINED_POWER_INFO ed eseguire l'azione di risparmio energia specifica del driver miniport appropriata.

Requisiti

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

Vedi anche

AtaPortGetUncachedExtension