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 |