DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP 콜백 함수(dispmprt.h)
Windows WDDM(디스플레이 드라이버 모델) 1.2 이상 디스플레이 미니포트 드라이버에 의해 호출되어 현재 POST(Power-On 자체 테스트) 디스플레이 디바이스 또는 이전에 실행 중인 WDDM 드라이버에서 표시 정보를 가져옵니다.
드라이버는 이 표시 정보를 사용하여 디스플레이 디바이스가 시작된 후 초기 모드 변경 요청을 최적화해야 합니다.
구문
DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP DxgkcbAcquirePostDisplayOwnership;
NTSTATUS DxgkcbAcquirePostDisplayOwnership(
[in] HANDLE DeviceHandle,
[out] PDXGK_DISPLAY_INFORMATION DisplayInfo
)
{...}
매개 변수
[in] DeviceHandle
디스플레이 어댑터를 나타내는 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DxgkDdiStartDevice에 전달된 DXGKRNL_INTERFACE 구조체의 DeviceHandle 멤버에서 이 핸들을 얻었습니다.
[out] DisplayInfo
디스플레이 미니포트 드라이버에서 할당하는 DXGK_DISPLAY_INFORMATION 구조체에 대한 포인터입니다. DxgkCbAcquirePostDisplayOwnership이 STATUS_SUCCESS 반환하는 경우 이 구조에는 POST 작업에 사용되는 현재 디스플레이 디바이스에 대한 표시 정보가 포함됩니다.
반환 값
DxgkCbAcquirePostDisplayOwnership 은 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ntstatus.h에 정의된 오류 코드 중 하나를 반환합니다.
설명
허용되는 색 형식
DisplayInfoColorFormat -> 멤버는 다음 두 형식의 비트 OR 조합을 포함해야 합니다.- D3DDDIFMT_X8R8G8B8
- D3DDDIFMT_A8R8G8B8
비디오 프레젠테이션 대상 초기화
DisplayInfoTargetId -> 멤버가 초기화되지 않을 수 있습니다. 이 경우 현재 비디오 대상의 식별자가 D3DDDI_ID_UNINITIALIZED. 일반적으로 시스템 부팅 후에 발생합니다.마찬가지로 DisplayInfoAcpiId-> 멤버가 초기화되지 않을 수 있습니다. 이 경우 ACPI 식별자 AcpiId 의 값은 0입니다.
드라이버-드라이버 업그레이드의 경우 이전 드라이버에서 대상 식별자와 ACPI 식별자를 제공했습니다.
구현 지침
WDDM 1.2부터 디스플레이 미니포트 드라이버는 DxgkCbAcquirePostDisplayOwnership을 호출할 때 다음 지침을 따라야 합니다.- DxgkCbAcquirePostDisplayOwnership 함수의 진입점은 DXGKRNL_INTERFACE 구조의 일부입니다. 이 구조체는 드라이버의 DxgkDdiStartDevice 함수가 호출되면 DxgkInterface 매개 변수를 통해 드라이버에 반환됩니다.
- 디스플레이 미니포트 드라이버에서 DxgkCbAcquirePostDisplayOwnership을 호출하는 것은 선택 사항입니다. 그러나 드라이버가 이전에 DxgkCbAcquirePostDisplayOwnership을 호출하지 않은 경우 운영 체제는 디바이스 드라이버의 DxgkDdiStopDeviceAndReleasePostDisplayOwnership 함수를 호출할 수 있습니다.
- PnP(플러그 앤 플레이) 이벤트에 대한 응답으로 디바이스가 시작된 경우 디스플레이 미니포트 드라이버는 DxgkCbAcquirePostDisplayOwnership 을 호출할 수 있습니다. 이 경우 드라이버는 DxgkDdiStartDevice 함수에 대한 호출 컨텍스트 내에서 DxgkCbAcquirePostDisplayOwnership을 호출해야 합니다.
- 디스플레이 미니포트 드라이버는 디바이스가 최대 절전 모드 상태 후 PowerDeviceD0 전원 상태를 다시 시작하는 경우 DxgkCbAcquirePostDisplayOwnership을 호출할 수 있습니다. 이 경우 드라이버는 DxgkDdiSetPowerState 함수에 대한 호출 컨텍스트 내에서 DxgkCbAcquirePostDisplayOwnership을 호출해야 합니다.
-
디스플레이 미니포트 드라이버는 드라이버가 Windows 8 이상 버전의 Windows 운영 체제에서 실행되는 경우에만 DxgkCbAcquirePostDisplayOwnership 함수를 호출해야 합니다.
참고 디스플레이 미니포트 드라이버는 RtlGetVersion 을 호출하여 운영 체제의 버전을 확인할 수 있습니다.
- DxgkCbAcquirePostDisplayOwnership은 Width 멤버가 0으로 설정된 DXGK_DISPLAY_INFORMATION 구조를 반환할 수 있습니다. 이는 현재 디스플레이 디바이스가 POST 작업을 수행할 수 없거나 운영 체제에 현재 POST 디바이스에 대한 현재 표시 정보가 없음을 나타냅니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 8 |
| 지원되는 최소 서버 | Windows Server 2012 |
| 대상 플랫폼 | 바탕 화면 |
| 헤더 | dispmprt.h(Dispmprt.h 포함) |
| IRQL | <= APC_LEVEL |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기