다음을 통해 공유


DXGKDDIPOWERRUNTIMECONTROLREQUEST 콜백 함수(d3dkmddi.h)

디스플레이 미니포트 드라이버와 정보를 교환하기 위해 PEP(전원 엔진 플러그 인)에서 호출됩니다. 또한 Microsoft DirectX 그래픽 커널 하위 시스템에 의해 호출되어 디스플레이 미니포트 드라이버에 특정 이벤트에 대해 알립니다.

구문

DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;

NTSTATUS Dxgkddipowerruntimecontrolrequest(
  IN_CONST_HANDLE DriverContext,
  IN LPCGUID PowerControlCode,
  IN PVOID InBuffer,
  IN SIZE_T InBufferSize,
  OUT PVOID OutBuffer,
  IN SIZE_T OutBufferSize,
  OUT PSIZE_T BytesReturned
)
{...}

매개 변수

DriverContext

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수는 이전에 DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.

PowerControlCode

PEP 컨트롤 요청의 의미를 정의하는 GUID에 대한 포인터입니다. 자세한 내용은 설명 부분을 참조하세요.

InBuffer

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

InBufferSize

InBuffer가 가리키는 버퍼의 크기(바이트)입니다.

OutBuffer

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

OutBufferSize

OutBuffer가 가리키는 버퍼의 크기(바이트)입니다.

BytesReturned

출력 버퍼에 대한 디스플레이 미니포트 드라이버가 작성한 바이트 수를 포함하는 버퍼에 대한 선택적 포인터입니다.

반환 값

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

설명

운영 체제는 디스플레이 미니포트 드라이버가 DXGK_DRIVERCAPS 설정하여 지원을 나타내는 경우에만 DxgkDdiPowerRuntimeControlRequest를 호출합니다. SupportRuntimePowerManagementTRUE로 설정합니다.

PEP(전원 엔진 플러그 인)에서 사용하는 GUID

PEP는 D3dkmddi.h에 정의된 다음 GUID를 사용하여 디스플레이 미니포트 드라이버와 정보를 교환합니다. 디스플레이 포트 드라이버는 이러한 GUID를 사용하여 드라이버 성능 문제를 프로파일링하는 데 유용한 ETW(Windows용 이벤트 추적) 이벤트를 실행합니다.
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
대역폭을 변경하지만 드라이버에서 변경 내용이 증가 또는 감소인지는 알 수 없습니다.

DirectX 그래픽 커널 하위 시스템에 사용되는 GUID

DirectX 그래픽 커널 하위 시스템은 D3dkmddi.h에 정의된 다음 GUID를 사용하여 디스플레이 미니포트 드라이버에 특정 이벤트에 대해 알립니다.
GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
DirectX 그래픽 커널 하위 시스템이 런타임 전원 관리를 위해 디바이스를 등록한 후 디바이스가 시작되기 전에 사용됩니다. 이 GUID를 사용하여 이 함수를 호출한 후 디스플레이 미니포트 드라이버는 다음 함수를 호출할 수 있습니다.
GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
DirectX 그래픽 커널 하위 시스템이 런타임 전원 관리를 시작한 후에 사용됩니다. 이 GUID를 사용하여 이 함수를 호출한 후 디스플레이 미니포트 드라이버는 모든 전원 런타임 함수를 호출할 수 있습니다.
GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
DirectX 그래픽 커널 하위 시스템이 런타임 전원 관리를 위해 디바이스를 등록 취소하기 직전에 사용됩니다. 이 GUID를 사용하여 이 함수를 호출한 후에는 디스플레이 미니포트 드라이버가 전원 런타임 함수를 호출하면 안 됩니다.

동기화

이 함수는 여러 실행 스레드에서 동시에 호출할 수 있습니다.

운영 체제는 이 함수가 스레딩 및 동기화 0 수준에 정의된 대로 0 수준 동기화 모드를 따르도록 보장합니다.

요구 사항

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

추가 정보

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice