IDE_HW_CONTROL Rückruffunktion (irb.h)
Die Miniporttreiberroutine IdeHwControl benachrichtigt den Miniporttreiber über Plug & Play (PnP) und Energieereignisse.
Syntax
IDE_HW_CONTROL IdeHwControl;
BOOLEAN IdeHwControl(
[in] PVOID ChannelExtension,
[in] IDE_CONTROL_ACTION ControlAction,
[in, out] PVOID Parameters
)
{...}
Parameter
[in] ChannelExtension
Ein Zeiger auf die Kanalerweiterung.
[in] ControlAction
Enthält einen Enumeratorwert vom Typ IDE_CONTROL_ACTION , der die auszuführende Steuerelementaktion angibt.
[in, out] Parameters
Ein Zeiger auf einen Puffer, der die Parameter enthält, die der Steuerelementaktion zugeordnet sind. Dieser Parameter kann einen der Werte in der folgenden Tabelle aufweisen.
Steuerelementaktion | Parameter | BESCHREIBUNG |
---|---|---|
IdeStart | Parameter verweist auf eine Struktur vom Typ IDE_CHANNEL_CONFIGURATION. | Gibt an, dass der Porttreiber den Kanal startet. |
IdeVendorDefined | Der Parameter verweist auf eine Struktur vom Typ IDE_VENDOR_DEFINED_POWER_INFO. | Gibt an, dass ein vom Hersteller definiertes Energieereignis kommt. |
Rückgabewert
IdeHwControl gibt TRUE zurück, wenn der Vorgang erfolgreich war. Andernfalls wird FALSE zurückgegeben.
Hinweise
Der Porttreiber stellt sicher, dass auf dem Kanal keine ausstehenden E/A-Vorgänge vorhanden sind, bevor er diese Routine aufruft. Der Miniporttreiber kann über eigene Energierichtlinienmethoden verfügen, wenn das System in einen anderen Energiezustand wechselt. Um dies zu erreichen, muss der Miniporttreiber folgendes tun:
- Fügen Sie der INF-Datei des Miniporttreibers ein Energierichtlinieneinstellungsschema hinzu. Eine GUID ist erforderlich, um eine vom Miniporttreiber definierte Energierichtlinie darzustellen. Weitere Informationen zur Energieeinstellungsdirektive finden Sie unter INF AddPowerSetting-Direktive. Weitere Informationen zu den GUIDs finden Sie unter Datenträgereinstellungen.
- Wenn die Miniporttreiberroutine IdeHwControl mit der Steuerungsaktion IdeStart aufgerufen wird:
- Überprüfen Sie das Feld SupportedAdvances.AdvancedChannelConfigurationSupported in der ChannelConfiguration-Struktur.
- Überprüfen Sie das Feld AdvancedChannelConfiguration->Present.VendorDefinedPower in der ChannelConfiguration-Struktur.
- Wenn die Werte der beiden zuvor aufgeführten Felder beide TRUE sind, unterstützt diese Version des ATA-Porttreibers die vom Anbieter definierte Energieverwaltung.
- Wenn die vom Anbieter definierte Energieverwaltung vom ATA-Porttreiber unterstützt wird, kann sich der Miniporttreiber für spezielle Energieverwaltungsvorgänge registrieren, indem die Felder AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids und AdvancedChannelConfiguration->VendorDefinedPower.Guid[] festgelegt werden (letzteres sollte die GUID der Energierichtlinie in der INF-Datei des Miniporttreibers sein).
- Nachdem die vom Hersteller definierte Energieverwaltung registriert wurde, kann der Miniporttreiber Aufrufe an seine IdeHwControl-Routine mit der Steuerungsaktion IdeVendorDefined empfangen, wenn sich das Systemenergieschema ändert.
- Während der Miniporttreiber die IdeHwControl-Routine mit der Steuerungsaktion IdeVendorDefined verarbeitet, sollte er wie folgt vorgehen:
- Vergleichen Sie das SettingGuid-Feld aus dem Parameterfeld der Struktur IDE_VENDOR_DEFINED_POWER_INFO mit der GUID, die der Miniporttreiber registriert hat, um sicherzustellen, dass der Aufruf für diesen Kanal erfolgt. Wenn die GUIDs nicht übereinstimmen, sollte der Miniporttreiber den Aufruf abschließen und keine Maßnahmen ergreifen.
- Rufen Sie das Feld Wert aus dem Parameterfeld der Struktur IDE_VENDOR_DEFINED_POWER_INFO ab, und führen Sie die entsprechende miniporttreiberspezifische Energieverwaltungsaktion aus.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | irb.h (include Irb.h) |