コールバック関数DXGKDDI_QUERY_INTERFACE (dispmprt.h)
DxgkDdiQueryInterface 関数は、ディスプレイ ミニポート ドライバーによって実装される機能インターフェイスを返します。
構文
DXGKDDI_QUERY_INTERFACE DxgkddiQueryInterface;
NTSTATUS DxgkddiQueryInterface(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PQUERY_INTERFACE QueryInterface
)
{...}
パラメーター
[in] MiniportDeviceContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前にこのハンドルを Dxgkrnl に提供しました。
[in] QueryInterface
ディスプレイ ミニポート ドライバーがサポートするインターフェイスに関する情報を返す必要がある QUERY_INTERFACE構造体への ポインター。
戻り値
DxgkDdiQueryInterface は、成功した場合STATUS_SUCCESSを返します。それ以外の場合は、適切な NTSTATUS コードを返します。 ディスプレイ ミニポート ドライバーが要求されたインターフェイスをサポートしていない場合は、STATUS_NOT_SUPPORTEDを返す必要があります。 STATUS_NOT_SUPPORTED返すことによって、ディスプレイ ミニポート ドライバーは、次のドライバーにクエリを渡すようにオペレーティング システムに通知します。
注釈
DxgkDdiQueryInterface は、ディスプレイ ミニポート ドライバーと子デバイスのドライバー (ビデオ キャプチャ デバイスなど) の間の通信メカニズムを公開します。 このようなメカニズムを公開するディスプレイ ミニポート ドライバーは、この関数を実装する必要があります。
DxgkDdiQueryInterface は、QueryInterface-Interface> が指す INTERFACE 構造体のメンバーを次のように入力する必要があります。
[サイズ] を INTERFACE 構造体のバイト数に設定します。 この値は、QueryInterface-Size> で指定されたバイト数を超えることはできません。
[バージョン] を、ディスプレイ ミニポート ドライバーによって返されるインターフェイスのバージョンに設定します。 ディスプレイ ミニポート ドライバーは、QueryInterface-Version> で子ドライバーによって要求されたバージョンと最も一致する必要があります。
インターフェイスのディスプレイ ミニポート ドライバー定義コンテキストを指すコンテキストを設定します。 通常、ディスプレイ ミニポート ドライバーは、ミニポートDeviceContext によって識別されるディスプレイ アダプターのコンテキスト ブロックへのハンドルにコンテキストを設定します。
InterfaceReference と InterfaceDereference を初期化して、このインターフェイスのディスプレイ ミニポート ドライバーによって実装された参照ルーチンと逆参照ルーチンを指します。
公開されているインターフェイスの適切なルーチンを指す追加のインターフェイス固有のメンバーをすべて初期化します。
DxgkDdiQueryInterface は IRQL = PASSIVE_LEVELで実行され、ページング可能にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | dispmprt.h |
IRQL | PASSIVE_LEVEL |