DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT コールバック関数 (dispmprt.h)
DxgkDdiOPMCreateProtectedOutput 関数は、Certified Output Protection Protocol (COPP) または OPM セマンティクスを使用して、新しい保護された出力オブジェクトを作成します。
構文
DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;
NTSTATUS DxgkddiOpmCreateProtectedOutput(
[in] PVOID MiniportDeviceContext,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
[out] PHANDLE NewProtectedOutputHandle
)
{...}
パラメーター
[in] MiniportDeviceContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 以前は、ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
[in] VidPnTargetId
新しい保護された出力オブジェクトに対応するビデオの現在のターゲットを一意に識別する整数。 各ビデオの現在のターゲットは、1 つの物理モニター コネクタに対応している必要があります。 VidPnTargetId が複数の物理モニター コネクタに対応する場合、DxgkDdiOPMCreateProtectedOutput はSTATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLEDまたはSTATUS_GRAPHICS_OPM_THEATER_MODE_ENABLEDエラー コードを返す必要があります。
[in] NewVideoOutputSemantics
新しい保護された出力に COPP セマンティクスと OPM セマンティクスのどちらが含まれるかを決定する、 DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS型指定の値。
[out] NewProtectedOutputHandle
DxgkDdiOPMCreateProtectedOutput が正常に返された場合に、新しい保護された出力オブジェクトへのハンドルを受け取る変数へのポインター。 DirectX グラフィックス カーネル サブシステムは、ディスプレイ ミニポート ドライバーの DxgkDdiOPMGetRandomNumber、 DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation、 DxgkDdiOPMGetCOPPCompatibleInformation、 DxgkDdiOPMConfigureProtectedOutput、 DxgkDdiOPMDestroyProtectedOutput の呼び出しでこのハンドルを渡します。
DxgkDdiOPMCreateProtectedOutput が失敗した場合、変数の値は変更されません。
戻り値
DxgkDdiOPMCreateProtectedOutput は 、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | 関数は、保護された新しい出力オブジェクトを正常に作成しました。 |
STATUS_GRAPHICS_OPM_NOT_SUPPORTED | ディスプレイ ミニポート ドライバーは、ハードウェア ベンダーが OPM ライセンス契約に署名しなかったか、ミニポート ドライバーのグラフィックス ハードウェアが OPM 規則に準拠していないため、OPM をサポートしていません。 |
STATUS_GRAPHICS_COPP_NOT_SUPPORTED | ディスプレイ ミニポート ドライバーは、ハードウェア ベンダーが COPP ライセンス契約に署名していないか、ミニポート ドライバーのグラフィックス ハードウェアが COPP 規則に準拠していないため、COPP をサポートしていません。 |
STATUS_NO_MEMORY | DxgkDdiOPMCreateProtectedOutput では、完了するために必要なメモリを割り当てることができません。 |
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput は、ビデオの現在のターゲットがスパン モードであるため、保護された出力を作成できませんでした。 ビデオ表示ターゲットがスパン モードの場合は、複数の物理モニター コネクタに対応し、各コネクタはフレーム バッファーの個別の部分を表示します。 ディスプレイ ミニポート ドライバーが通常スパニング モードを実装する方法の図については、「解説」セクションを参照してください。 ディスプレイ ミニポート ドライバーは、フレーム バッファーが特定のモニターにどのように対応するかをオペレーティング システムに通知します。 フレーム バッファーの左半分が 1 つのモニターに表示され、フレーム バッファーの右半分がもう一方のモニターに表示されます。 |
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput は、ビデオの現在のターゲットがシアター モードであるため、保護された出力を作成できませんでした。 ビデオの現在のターゲットがシアター モードの場合は、2 つの物理モニター コネクタに対応します。1 つのコネクタはフレーム バッファー全体を表示し、もう 1 つのコネクタはフレーム バッファーの一部のみを表示します。 シアター モードは、ミラー モードとも呼ばれます。 ディスプレイ ミニポート ドライバーが通常、シアター モードを実装する方法の図については、「解説」セクションを参照してください。 ディスプレイ ミニポート ドライバーは、フレーム バッファーが特定のモニターにどのように対応するかをオペレーティング システムに通知します。 フレーム バッファー全体が 1 つのモニターに表示され、もう一方のモニターにはフレーム バッファーの一部のみが表示されます。 |
この関数は、Ntstatus.h で定義されている他のエラー コードも返す場合があります。
注釈
次の図は、ディスプレイ ミニポート ドライバーが通常、スパニング モードを実装する方法を示しています。
次の図は、ディスプレイ ミニポート ドライバーが通常、シアター モードを実装する方法を示しています。 シアター モード *DxgkDdiOPMCreateProtectedOutput* をページング可能にする必要があることを。要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dispmprt.h (Dispmprt.h を含む) |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
こちらもご覧ください
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput