Abrufen des OPM-DDI
Die folgende Sequenz zeigt, wie das Microsoft DirectX-Grafikkernsubsystem (Dxgkrnl.sys) den OPM DDI des Anzeigeminiporttreibers abruft:
Das DirectX-Grafikkernsubsystem ruft die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers auf, um einen Kontextblock für einen Grafikkarten zu erstellen und einen Handle für diesen Grafikkarten zurückzugeben.
Das DirectX-Grafikkernsubsystem initialisiert eine QUERY_INTERFACE-Struktur mit den Werten in der folgenden Tabelle.
Membername Memberart Wert InterfaceType
CONST PGUID
Ein Zeiger auf GUID_DEVINTERFACE_OPM
(BF4672DE-6B4E-4BE4-A325-68A91EA49C09)
Größe
USHORT
sizeof(DXGK_OPM_INTERFACE)
Version
USHORT
DXGK_OPM_INTERFACE_VERSION_1
Interface
PINTERFACE
Ein Zeiger auf eine DXGK_OPM_INTERFACE Struktur
InterfaceSpecificData
PVOID
NULL
Das DirectX-Grafikkernsubsystem übergibt die initialisierte QUERY_INTERFACE in einem Aufruf der DxgkDdiQueryInterface-Funktion des Anzeigeminiporttreibers.
Wenn der Anzeigeminiporttreiber die OPM-Schnittstelle nicht unterstützt, muss DxgkDdiQueryInterface STATUS_NOT_SUPPORTED zurückgeben.
Wenn der Anzeigeminiporttreiber OPM unterstützt, initialisiert DxgkDdiQueryInterface die DXGK_OPM_INTERFACE-Struktur , die im Schnittstellenelement von QUERY_INTERFACE empfangen wurde, mit den Werten in der folgenden Tabelle.
Membername, -typ und -wert:
Größe
Typ USHORTsizeof(DXGK_OPM_INTERFACE)
Version
Typ USHORTDXGK_OPM_INTERFACE_VERSION_1
InterfaceReference
Typ PINTERFACE_REFERENCEEin Zeiger auf die InterfaceReference-Routine des Anzeigeminiporttreibers (Informationen zu InterfaceReference finden Sie im Abschnitt Hinweise der INTERFACE-Struktur .)
InterfaceDereference
Typ PINTERFACE_DEREFERENCEEin Zeiger auf die InterfaceDereference-Routine des Anzeigeminiporttreibers (Informationen zu InterfaceDereference finden Sie im Abschnitt Hinweise der INTERFACE-Struktur .)
DxgkDdiOPMGetCertificateSize
Typ DXGKDDI_OPM_GET_CERTIFICATE_SIZEEin Zeiger auf die DxgkDdiOPMGetCertificateSize-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMGetCertificate
Typ DXGKDDI_OPM_GET_CERTIFICATEEin Zeiger auf die DxgkDdiOPMGetCertificate-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMCreateProtectedOutput
Typ DXGKDDI_OPM_CREATE_PROTECTED_OUTPUTEin Zeiger auf die DxgkDdiOPMCreateProtectedOutput-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMGetRandomNumber
Typ DXGKDDI_OPM_GET_RANDOM_NUMBEREin Zeiger auf die DxgkDdiOPMGetRandomNumber-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMSetSigningKeyAndSequenceNumbers
DXGKDDI_OPM_SET_SIGNING_KEY_AND_SEQUENCE_NUMBERSEin Zeiger auf die DxgkDdiOPMSetSigningKeyAndSequenceNumbers-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMGetInformation
DXGKDDI_OPM_GET_INFORMATIONEin Zeiger auf die DxgkDdiOPMGetInformation-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMGetCOPPCompatibleInformation
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATIONEin Zeiger auf die DxgkDdiOPMGetCOPPCompatibleInformation-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMConfigureProtectedOutput
DXGKDDI_OPM_CONFIGURE_PROTECTED_OUTPUTEin Zeiger auf die DxgkDdiOPMConfigureProtectedOutput-Funktion des Anzeigeminiporttreibers
DxgkDdiOPMDestroyProtectedOutput
DXGKDDI_OPM_DESTROY_PROTECTED_OUTPUTEin Zeiger auf die DxgkDdiOPMDestroyProtectedOutput-Funktion des Anzeigeminiporttreibers
Wenn der Anzeigeminiporttreiber mit der OPM-Schnittstelle fertig ist, ruft der Treiber seine InterfaceDereference-Routine auf . Der Treiber sollte InterfaceDereference aufrufen, bevor seine DxgkDdiRemoveDevice-Funktion aufgerufen wird.