PVIDEO_HW_QUERY_INTERFACE コールバック関数 (video.h)
HwVidQueryInterface は、子デバイスが呼び出すことができるミニポート ドライバーによって実装された機能インターフェイスを返します。
構文
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
パラメーター
HwDeviceExtension
ミニポート ドライバーのアダプターごとの記憶域へのポインター。 詳細については、「 デバイス拡張機能」を参照してください。
QueryInterface
ミニポート ドライバーがサポートするインターフェイスに関する情報を返す必要がある QUERY_INTERFACE 構造体へのポインター。
戻り値
HwVidQueryInterface は成功時にNO_ERRORを返す必要があります。それ以外の場合は、適切なエラー コードを返す必要があります。 たとえば、操作を完了するためにメモリを割り当てることができない場合、ミニポート ドライバーはERROR_OUTOFMEMORYを返す必要があります。
注釈
HwVidQueryInterface は、ビデオ ミニポート ドライバーと子デバイスのドライバーの間の通信メカニズムを公開します。 このようなメカニズムを公開するミニポート ドライバーは、この関数を実装する必要があります。
ビデオ ポートは、IRP_MN_QUERY_INTERFACE要求を受信すると HwVidQueryInterface を呼び出します。 ミニポート ドライバーが呼び出しに失敗した場合、ビデオ ポート ドライバーは、ミニポート ドライバーのデバイスの親に要求を渡します。
HwVidQueryInterface は、QueryInterface-Interface> が指す INTERFACE 構造体のメンバーを次のように入力する必要があります。
- [サイズ] を INTERFACE 構造体のバイト数に設定します。 この値は 、QueryInterface->Size で指定されたバイト数を超えることはできません。
- [バージョン] を、ミニポート ドライバーによって返されるインターフェイスのバージョンに設定します。 ミニポート ドライバーは、QueryInterface-> バージョンで子ドライバーによって要求されたバージョンと最も一致する必要があります。
- インターフェイスのミニポート ドライバー定義コンテキストを指すコンテキストを設定します。 通常、ミニポート ドライバーは、HwDeviceExtension によって識別されるデバイス拡張機能を指すコンテキストを設定します。
- このインターフェイスのミニポート ドライバーによって実装された参照および逆参照ルーチンを指す InterfaceReference と InterfaceDereference を初期化します。
- 公開されているインターフェイスの適切なルーチンを指す追加のインターフェイス固有のメンバーをすべて初期化します。
子デバイスのドライバーは、ビデオ ポート ドライバーの知識なしで いつでも HwVidQueryInterface によって公開される関数を介してミニポート ドライバーに呼び出すことができます。 したがって、ミニポート ドライバーは、 HwVidQueryInterface によって公開されるすべての関数で、ビデオ ポート ドライバーによって維持されるデバイス ロックを取得して解放することによって、それ自体へのアクセスを同期する必要があります。
子デバイスは 、HwVidGetVideoChildDescriptor によって列挙されます。
HwVidQueryInterface をページング可能にする必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | video.h (Video.h を含む) |