Freigeben über


DXGKCB_POWERRUNTIMECONTROLREQUEST Rückruffunktion (d3dkmddi.h)

Ein Kernelmodus-Miniporttreiber 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 den Anzeigeadapter. Der Anzeige-Miniporttreiber empfängt den 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, auf den in Bytes InBuffer verweist. Wird auf Null festgelegt, wenn keine 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 verweist. Wird auf Null festgelegt, wenn kein OutBuffer- bereitgestellt wird.

[out] BytesReturned

Die Anzahl der im Puffer zurückgegebenen tatsächlichen Bytes, auf die OutBuffer verweist. Der zurückgegebene Wert wird <= OutBufferSize.

Rückgabewert

DXGKCB_POWERRUNTIMECONTROLREQUEST gibt STATUS_SUCCESS zurück, wenn sie erfolgreich ist. Andernfalls wird eine der fehlercodes zurückgegeben, die in ntstatus.hdefiniert sind.

Bemerkungen

Anmerkung

Um ein mögliches Deadlock zu vermeiden, rufen Sie die DXGKCB_SETPOWERCOMPONENTACTIVE-Funktion erst auf, wenn diese Funktion zurückgegeben wurde.

DXGKCB_XXX Funktionen werden von Dxgkrnlimplementiert. Rufen Sie DxgkCbPowerRuntimeControlRequest über die DXGKRNL_INTERFACEauf, um diese Rückruffunktion zu verwenden.

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 Ereignisablaufverfolgung für Windows -Ereignisse (ETW) ausgeben, die hilfreich sind, um Treiberleistungsprobleme zu profilieren.

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 Einstellung für die Uhr, 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 deuten nicht darauf hin, dass zwischen dem Display-Miniporttreiber und dem PEP ein Kommunikationsprotokoll vorhanden ist, und dass es irgendwelche Einschränkungen für die Werte gibt, die zwischen dem Display miniport-Treiber und dem PEP übergeben werden können.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8 (WDDM 1.2)
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Desktop
Header- d3dkmddi.h (einschließlich D3dkmddi.h)
IRQL- <=DISPATCH_LEVEL

Siehe auch

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE