IDE_HW_CONTROL Rückruffunktion (irb.h)
Die IdeHwControl- Miniporttreiberroutine benachrichtigt den Miniporttreiber über Plug and Play (PnP) und Leistungsereignisse.
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 Enumerationswert 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.
Steuerungsaktion | Parameter | Beschreibung |
---|---|---|
IdeStart- | Der 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 Anbieter definiertes Power-Ereignis verfügbar ist. |
Rückgabewert
IdeHwControl- gibt TRUE- zurück, wenn der Vorgang erfolgreich war. Andernfalls wird FALSE-zurückgegeben.
Bemerkungen
Der Porttreiber stellt sicher, dass es keine ausstehende E/A im Kanal gibt, bevor diese Routine aufgerufen wird. 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. Um eine vom Miniporttreiber definierte Energierichtlinie darzustellen, ist eine GUID erforderlich. Weitere Informationen zur Energieeinstellungsdirektive finden Sie unter INF AddPowerSetting Directive. Weitere Informationen zu den GUIDs finden Sie unter Datenträgereinstellungen.
- Wenn die Miniport-Treiberroutine IdeHwControl- mit Steuerelementaktion aufgerufen wird, IdeStart:
- Ü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 TRUEsind, 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 der Miniporttreiber für die spezielle Energieverwaltungsbehandlung registrieren, indem die Felder AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids und AdvancedChannelConfiguration->VendorDefinedPower.Guid[] (letzteres sollte die GUID der Energierichtlinie in der INF-Datei des Miniporttreibers sein).
- Nachdem die vom Anbieter definierte Energieverwaltung registriert wurde, kann der Miniporttreiber Anrufe an seine IdeHwControl-Routine mit Kontrollaktion IdeVendorDefined empfangen, wenn sich das Systembetriebssystem ändert.
- Während der Miniporttreiber die IdeHwControl Routine mit Steuerungsaktion IdeVendorDefinedverarbeitet, sollte folgendes ausgeführt werden:
- 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 ist. Wenn die GUIDs nicht übereinstimmen, sollte der Miniporttreiber den Aufruf abschließen und keine Aktion ausführen.
- Rufen Sie das feld Value 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 |
Header- | irb.h (include Irb.h) |