DXGKCB_POWERRUNTIMECONTROLREQUEST Rückruffunktion (d3dkmddi.h)

Ein Display-Miniporttreiber im Kernelmodus ruft DXGKCB_POWERRUNTIMECONTROLREQUEST auf, um Informationen mit dem Power Engine Plug-In (PEP) auszutauschen.

Syntax

DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;

NTSTATUS DxgkcbPowerruntimecontrolrequest(
  [in]           IN_CONST_HANDLE hAdapter,
  [in]           IN LPCGUID PowerControlCode,
  [in, optional] IN PVOID InBuffer,
  [in]           IN SIZE_T InBufferSize,
  [in, optional] OUT PVOID OutBuffer,
  [in]           IN SIZE_T OutBufferSize,
  [out]          OUT PSIZE_T BytesReturned
)
{...}

Parameter

[in] hAdapter

Ein Handle für die Grafikkarte. Der Anzeige-Miniporttreiber empfängt das Handle vom DeviceHandle-Member der DXGKRNL_INTERFACE-Struktur in einem Aufruf der DxgkDdiStartDevice-Funktion .

[in] PowerControlCode

Ein Zeiger auf eine GUID, die die Bedeutung der Steuerelementanforderung des Anzeigeminiporttreibers definiert. Weitere Informationen finden Sie in den Hinweisen.

[in, optional] InBuffer

Ein optionaler Zeiger auf einen Eingabepuffer.

[in] InBufferSize

Die Größe des optionalen Puffers in Bytes, auf den InBuffer zeigt. Wird auf null festgelegt, wenn kein InBuffer bereitgestellt wird.

[in, optional] OutBuffer

Ein optionaler Zeiger auf einen Ausgabepuffer.

[in] OutBufferSize

Die Größe des optionalen Puffers in Bytes, auf den OutBuffer zeigt. Wird auf 0 festgelegt, wenn kein OutBuffer bereitgestellt wird.

[out] BytesReturned

Die Anzahl der tatsächlichen Bytes, die im Puffer zurückgegeben werden, auf den OutBuffer zeigt. Der zurückgegebene Wert ist <= OutBufferSize.

Rückgabewert

DXGKCB_POWERRUNTIMECONTROLREQUEST gibt bei Erfolg STATUS_SUCCESS zurück. Andernfalls wird einer der in Ntstatus.h definierten Fehlercodes zurückgegeben.

Hinweise

Hinweis

Um einen möglichen Deadlock zu vermeiden, rufen Sie die funktion DXGKCB_SETPOWERCOMPONENTACTIVE erst auf, wenn diese Funktion zurückgegeben wurde.

DXGKCB_XXX Funktionen werden von Dxgkrnl implementiert. Um diese Rückruffunktion zu verwenden, rufen Sie DxgkCbPowerRuntimeControlRequest über den DXGKRNL_INTERFACE auf.

Obwohl der Treiber eine beliebige GUID im PowerControlCode-Parameter verwenden kann, werden die folgenden GUIDs empfohlen, die in D3dkmddi.h definiert sind. Mithilfe dieser GUIDs kann der Anzeigeporttreiber EREIGNISablaufverfolgungsereignisse für Windows (ETW) ausgeben, die hilfreich sind, um Treiberleistungsprobleme zu ermitteln.

GUID Bedeutung
GUID_DXGKDDI_POWER_VOLTAGE_UP Erhöhen Sie die Spannung.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN Verringern Sie die Spannung.
GUID_DXGKDDI_POWER_VOLTAGE Ändern Sie die Spannung, aber der Treiber weiß nicht, ob die Änderung eine Erhöhung oder Abnahme ist.
GUID_DXGKDDI_POWER_CLOCK_UP Erhöhen Sie die Einstellung für die Uhr.
GUID_DXGKDDI_POWER_CLOCK_DOWN Verringern Sie die Einstellung für die Uhr.
GUID_DXGKDDI_POWER_CLOCK Ändern Sie die Zeiteinstellung, aber der Treiber weiß nicht, ob die Änderung eine Erhöhung oder Abnahme ist.
GUID_DXGKDDI_POWER_BANDWIDTH_UP Erhöhen Sie die Bandbreite.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN Verringern Sie die Bandbreite.
GUID_DXGKDDI_POWER_BANDWIDTH Ändern Sie die Bandbreite, aber der Treiber weiß nicht, ob die Änderung eine Erhöhung oder Abnahme ist.

Diese GUIDs bedeuten nicht, dass es ein Kommunikationsprotokoll zwischen dem Anzeige-Miniporttreiber und dem PEP gibt, noch impliziert sie, dass es Einschränkungen für die Werte gibt, die zwischen dem Anzeige-Miniporttreiber und dem PEP übergeben werden können.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 (WDDM 1.2)
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3dkmddi.h (einschließlich D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE