次の方法で共有


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 構造体のメンバーを入力する必要があります。

  • Size を INTERFACE 構造体のバイト数に設定します。 この値は、QueryInterface->Sizeで指定されたバイト数を超えてはなりません。

  • バージョン を、ディスプレイ ミニポート ドライバーによって返されるインターフェイスのバージョンに設定します。 ディスプレイ ミニポート ドライバーは、QueryInterface->バージョンで子ドライバーによって要求されたバージョンと最も一致する必要があります。

  • インターフェイス ディスプレイ ミニポート ドライバー定義コンテキストを指すコンテキスト を設定します。 通常、ディスプレイ ミニポート ドライバーは、ミニポートDeviceContext 識別されるディスプレイ アダプターのコンテキスト ブロックへのハンドルにコンテキスト設定します。

  • InterfaceReference 初期化し、InterfaceDereference して、このインターフェイスのディスプレイ ミニポート ドライバーによって実装された参照ルーチンと逆参照ルーチンを指します。

  • 公開されているインターフェイスの適切なルーチンを指すインターフェイス固有の追加メンバーをすべて初期化します。

DxgkDdiQueryInterface IRQL = PASSIVE_LEVEL で実行され、ページング可能にする必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー dispmprt.h
IRQL PASSIVE_LEVEL

関連項目

DxgkDdiAddDevice

DxgkDdiQueryChildRelations

QUERY_INTERFACE