DXGKCB_POWERRUNTIMECONTROLREQUEST 콜백 함수(d3dkmddi.h)

커널 모드 디스플레이 미니포트 드라이버는 DXGKCB_POWERRUNTIMECONTROLREQUEST 호출하여 정보를 PEP(전원 엔진 플러그 인)와 교환합니다.

구문

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
)
{...}

매개 변수

[in] hAdapter

디스플레이 어댑터에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 DxgkDdiStartDevice 함수를 호출하여 DXGKRNL_INTERFACE 구조체의 DeviceHandle 멤버로부터 핸들을 받습니다.

[in] PowerControlCode

디스플레이 미니포트 드라이버의 컨트롤 요청의 의미를 정의하는 GUID에 대한 포인터입니다. 자세한 내용은 설명 부분을 참조하세요.

[in, optional] InBuffer

입력 버퍼에 대한 선택적 포인터입니다.

[in] InBufferSize

InBuffer가 가리키는 선택적 버퍼의 크기(바이트)입니다. InBuffer가 제공되지 않으면 0으로 설정합니다.

[in, optional] OutBuffer

출력 버퍼에 대한 선택적 포인터입니다.

[in] OutBufferSize

OutBuffer가 가리키는 선택적 버퍼의 크기(바이트)입니다. OutBuffer가 제공되지 않으면 0으로 설정합니다.

[out] BytesReturned

OutBuffer가 가리키는 버퍼에 반환된 실제 바이트 수입니다. 반환된 <값은 = OutBufferSize입니다.

반환 값

DXGKCB_POWERRUNTIMECONTROLREQUEST 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ntstatus.h에 정의된 오류 코드 중 하나를 반환합니다.

설명

참고

교착 상태를 방지하려면 이 함수가 반환될 때까지 DXGKCB_SETPOWERCOMPONENTACTIVE 함수를 호출하지 마세요.

DXGKCB_XXX 함수는 Dxgkrnl에 의해 구현됩니다. 이 콜백 함수를 사용하려면 DXGKRNL_INTERFACE 통해 DxgkCbPowerRuntimeControlRequest를 호출합니다.

드라이버는 PowerControlCode 매개 변수에서 GUID를 사용할 수 있지만 D3dkmddi.h 에 정의된 다음 GUID를 사용하는 것이 좋습니다. 이러한 GUID를 사용하면 디스플레이 포트 드라이버가 ETW(Windows용 이벤트 추적) 이벤트를 실행할 수 있으며 이는 드라이버 성능 문제를 프로파일링하는 데 유용합니다.

GUID 의미
GUID_DXGKDDI_POWER_VOLTAGE_UP 전압을 늘입니다.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN 전압을 줄입니다.
GUID_DXGKDDI_POWER_VOLTAGE 전압을 변경하지만, 드라이버는 변경이 증가 또는 감소인지 여부를 모른다.
GUID_DXGKDDI_POWER_CLOCK_UP 클록 설정을 늘입니다.
GUID_DXGKDDI_POWER_CLOCK_DOWN 클록 설정을 줄입니다.
GUID_DXGKDDI_POWER_CLOCK 클록 설정을 변경하지만 드라이버는 변경 내용이 증가 또는 감소인지 알 수 없습니다.
GUID_DXGKDDI_POWER_BANDWIDTH_UP 대역폭 증가.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN 대역폭을 줄입니다.
GUID_DXGKDDI_POWER_BANDWIDTH 대역폭을 변경하지만 드라이버에서 변경 내용이 증가 또는 감소인지 알 수 없습니다.

이러한 GUID는 디스플레이 미니포트 드라이버와 PEP 사이에 통신 프로토콜이 있음을 의미하지 않으며 디스플레이 미니포트 드라이버와 PEP 간에 전달될 수 있는 값에 대한 제한이 있음을 의미하지도 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8(WDDM 1.2)
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 d3dkmddi.h(D3dkmddi.h 포함)
IRQL <=DISPATCH_LEVEL

추가 정보

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE