OPM DDI 검색

다음 시퀀스는 Microsoft DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys)이 디스플레이 미니포트 드라이버의 OPM DDI를 검색하는 방법을 보여 줍니다.

  1. DirectX 그래픽 커널 하위 시스템은 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수를 호출하여 그래픽 어댑터에 대한 컨텍스트 블록을 만들고 해당 그래픽 어댑터에 대한 핸들을 반환합니다.

  2. DirectX 그래픽 커널 하위 시스템은 다음 표의 값을 사용하여 QUERY_INTERFACE 구조를 초기화합니다.

    멤버 이름 멤버 형식

    InterfaceType

    CONST PGUID

    GUID_DEVINTERFACE_OPM 대한 포인터

    (BF4672DE-6B4E-4BE4-A325-68A91EA49C09)

    크기

    Ushort

    sizeof(DXGK_OPM_INTERFACE)

    버전

    Ushort

    DXGK_OPM_INTERFACE_VERSION_1

    인터페이스

    핀터페이스

    DXGK_OPM_INTERFACE 구조체에 대한 포인터

    InterfaceSpecificData

    PVOID

    NULL

  3. DirectX 그래픽 커널 하위 시스템은 디스플레이 미니포트 드라이버의 DxgkDdiQueryInterface 함수에 대한 호출에서 초기화된 QUERY_INTERFACE 전달합니다.

  4. 디스플레이 미니포트 드라이버가 OPM 인터페이스를 지원하지 않는 경우 DxgkDdiQueryInterface 는 STATUS_NOT_SUPPORTED 반환해야 합니다.

    디스플레이 미니포트 드라이버가 OPM을 지원하는 경우 DxgkDdiQueryInterface 는 다음 표의 값을 사용하여 QUERY_INTERFACE인터페이스 멤버에서 받은 DXGK_OPM_INTERFACE 구조를 초기화합니다.

    멤버 이름, 형식 및 값:

    크기
    USHORT 입력

    sizeof(DXGK_OPM_INTERFACE)

    Version
    USHORT 입력

    DXGK_OPM_INTERFACE_VERSION_1

    InterfaceReference
    형식 PINTERFACE_REFERENCE

    디스플레이 미니포트 드라이버의 InterfaceReference 루틴에 대한 포인터입니다( InterfaceReference에 대한 자세한 내용은 INTERFACE 구조의 설명 섹션을 참조하세요.)

    InterfaceDereference
    형식 PINTERFACE_DEREFERENCE

    디스플레이 미니포트 드라이버의 InterfaceDereference 루틴에 대한 포인터입니다( InterfaceDereference에 대한 자세한 내용은 INTERFACE 구조의 설명 섹션을 참조하세요.)

    DxgkDdiOPMGetCertificateSize
    형식 DXGKDDI_OPM_GET_CERTIFICATE_SIZE

    디스플레이 미니포트 드라이버의 DxgkDdiOPMGetCertificateSize 함수에 대한 포인터

    DxgkDdiOPMGetCertificate
    형식 DXGKDDI_OPM_GET_CERTIFICATE

    디스플레이 미니포트 드라이버의 DxgkDdiOPMGetCertificate 함수에 대한 포인터

    DxgkDdiOPMCreateProtectedOutput
    형식 DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT

    디스플레이 미니포트 드라이버의 DxgkDdiOPMCreateProtectedOutput 함수에 대한 포인터

    DxgkDdiOPMGetRandomNumber
    형식 DXGKDDI_OPM_GET_RANDOM_NUMBER

    디스플레이 미니포트 드라이버의 DxgkDdiOPMGetRandomNumber 함수에 대한 포인터

    DxgkDdiOPMSetSigningKeyAndSequenceNumbers
    DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERS

    디스플레이 미니포트 드라이버의 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 함수에 대한 포인터

    DxgkDdiOPMGetInformation
    DXGKDDI_OPM_GET_INFORMATION

    디스플레이 미니포트 드라이버의 DxgkDdiOPMGetInformation 함수에 대한 포인터

    DxgkDdiOPMGetCOPPCompatibleInformation
    DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION

    디스플레이 미니포트 드라이버의 DxgkDdiOPMGetCOPPCompatibleInformation 함수에 대한 포인터

    DxgkDdiOPMConfigureProtectedOutput
    DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUT

    디스플레이 미니포트 드라이버의 DxgkDdiOPMConfigureProtectedOutput 함수에 대한 포인터

    DxgkDdiOPMDestroyProtectedOutput
    DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUT

    디스플레이 미니포트 드라이버의 DxgkDdiOPMDestroyProtectedOutput 함수에 대한 포인터

  5. OPM 인터페이스를 사용하여 디스플레이 미니포트 드라이버가 완료되면 드라이버는 InterfaceDereference 루틴을 호출합니다. 드라이버는 DxgkDdiRemoveDevice 함수가 호출되기 전에 InterfaceDereference를 호출해야 합니다.