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
운영 체제가 D3DDDIFMT_R8G8B8 형식을 다시 보고하는 경우 디스플레이 미니포트 드라이버는 이를 무시해야 합니다.

비디오 프레젠테이션 대상 초기화

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 을 호출하여 운영 체제의 버전을 확인할 수 있습니다.
     
  • DxgkCbAcquirePostDisplayOwnershipWidth 멤버가 0으로 설정된 DXGK_DISPLAY_INFORMATION 구조를 반환할 수 있습니다. 이는 현재 디스플레이 디바이스가 POST 작업을 수행할 수 없거나 운영 체제에 현재 POST 디바이스에 대한 현재 표시 정보가 없음을 나타냅니다.

요구 사항

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

추가 정보

DXGKRNL_INTERFACE

DXGK_DISPLAY_INFORMATION

DxgkDdiSetPowerState

DxgkDdiStartDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

RtlGetVersion