DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP 콜백 함수(dispmprt.h)
WDDM(Windows 디스플레이 드라이버 모델) 1.2 이상 디스플레이 미니포트 드라이버에서 호출되어 현재 POST(전원 켜기 자체 테스트) 디스플레이 디바이스 또는 이전에 실행 중인 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에 정의된 오류 코드 중 하나를 반환합니다.
설명
허용되는 색 형식
DisplayInfo->ColorFormat 멤버는 다음 두 형식의 비트 OR 조합을 포함해야 합니다.- D3DDDIFMT_X8R8G8B8
- D3DDDIFMT_A8R8G8B8
비디오 프레젠테이션 대상 초기화
DisplayInfo->TargetId 멤버가 초기화되지 않을 수 있습니다. 이 경우 비디오 현재 대상의 식별자가 D3DDDI_ID_UNINITIALIZED. 일반적으로 시스템 부팅 후에 발생합니다.마찬가지로 DisplayInfo-AcpiId> 멤버가 초기화되지 않을 수 있습니다. 이 경우 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 운영 체제의 Windows 8 이상 버전에서 실행되는 경우에만 DxgkCbAcquirePostDisplayOwnership 함수를 호출해야 합니다.
참고 디스플레이 미니포트 드라이버는 RtlGetVersion 을 호출하여 운영 체제의 버전을 확인할 수 있습니다.
- DxgkCbAcquirePostDisplayOwnership은 Width 멤버가 0으로 설정된 DXGK_DISPLAY_INFORMATION 구조를 반환할 수 있습니다. 이는 현재 디스플레이 디바이스가 POST 작업을 수행할 수 없거나 운영 체제에 현재 POST 디바이스에 대한 현재 표시 정보가 없음을 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | 데스크톱 |
머리글 | dispmprt.h(Dispmprt.h 포함) |
IRQL | <= APC_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기