PVIDEO_HW_GET_CHILD_DESCRIPTORコールバック関数 (video.h)
HwVidGetVideoChildDescriptor は、ディスプレイ アダプターの特定の子デバイスの記述子、型、および識別番号を返します。
構文
PVIDEO_HW_GET_CHILD_DESCRIPTOR PvideoHwGetChildDescriptor;
VP_STATUS PvideoHwGetChildDescriptor(
[in] IN PVOID HwDeviceExtension,
[in] IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
[out] OUT PVIDEO_CHILD_TYPE VideoChildType,
[out] OUT PUCHAR pChildDescriptor,
[out] OUT PULONG UId,
[out] OUT PULONG pUnused
)
{...}
パラメーター
[in] HwDeviceExtension
ミニポート ドライバーのアダプターごとの記憶域へのポインター。 詳細については、「 デバイス拡張機能」を参照してください。
[in] ChildEnumInfo
列挙されるデバイスを記述する VIDEO_CHILD_ENUM_INFO 構造体です。
[out] VideoChildType
ミニポート ドライバーが列挙されている子の種類を返す場所へのポインター。 このメンバーは、VIDEO_CHILD_TYPE列挙体から次のいずれかになります。
Value | 意味 |
---|---|
監視 | 子デバイスはモニターです。 モニターに DDC2 準拠の EDID 構造体が関連付けられていることをミニポート ドライバーが検出した場合、ミニポート ドライバーはモニターから EDID 情報を抽出し、pChildDescriptor が指すバッファーに返す必要があります。 ミニポート ドライバーは、 VideoPortDDCMonitorHelper を呼び出すことによって、モニターから EDID をより簡単に取得できます。 検出されたモニターが DDC2 に準拠していない場合、ミニポート ドライバーは pChildDescriptor で何も返さないでください。 |
NonPrimaryChip | システム使用のために予約されています。 |
VideoChip | 子デバイスはグラフィックス チップです。 ChildEnumInfo.ChildIndex がDISPLAY_ADAPTER_HW_ID場合、ミニポート ドライバーはこの型を返す必要があります。 ミニポート ドライバーは、pChildDescriptor で何も返さないでください。 |
その他 | 子デバイスには、別のデバイス ドライバーが関連付けられています。 ミニポート ドライバーは、pChildDescriptor が指すバッファー内の Unicode 文字列としてデバイスの PnP ハードウェア識別子を返す必要があります。 この文字列は、ドライバーの INF ファイルで指定された デバイス ID と 一致する必要があります。 このデバイスのハードウェア ID としてオペレーティング システムによって使用されます。 |
[out] pChildDescriptor
ミニポート ドライバーがデバイスを識別するデータを返すことができるバッファーへのポインター。 返される情報は、 VideoChildType で指定された子の種類によって異なります。 このバッファーのサイズは、VIDEO_CHILD_ENUM_INFO の ChildDescriptorSize メンバーのビデオ ポート ドライバーによって指定されます。
[out] UId
ミニポート ドライバーがこのデバイスの一意の 32 ビット デバイス ID を 返す場所へのポインター。 ミニポート ドライバーは、デバイスが実際のディスプレイ アダプターである場合にDISPLAY_ADAPTER_HW_IDする UId を設定する必要があります。
[out] pUnused
未使用であり、0 に設定する必要があります。
戻り値
HwVidGetVideoChildDescriptor は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
VIDEO_ENUM_INVALID_DEVICE | もう一度を呼び出します。 ミニポート ドライバーは、ChildEnumInfo で識別された子デバイスを列挙できませんでしたが、列挙するデバイスが他にもあります。 |
VIDEO_ENUM_MORE_DEVICES | 新しい子デバイスが列挙されます。 この場合、ビデオ ポートは HwVidGetVideoChildDescriptor を再度呼び出します。 |
VIDEO_ENUM_NO_MORE_DEVICES | ミニポート ドライバーは、ChildEnumInfo で識別された子デバイスを列挙できませんでした。 列挙を停止します。 列挙するデバイスはこれ以上ありません。 |
注釈
既定では、 HwVidGetVideoChildDescriptor は、デバイスが HwVidFindAdapter によって起動されるまで呼び出されません。 デバイスが起動する前にデバイスの子の列挙を許可するには、VIDEO_HW_INITIALIZATION_DATAの AllowEarlyEnumeration メンバー を設定します。 AllowEarlyEnumeration を設定すると、HwVidGetVideoChildDescriptor をいつでも呼び出すことができます。
HwVidGetVideoChildDescriptor では、次の操作を行う必要があります。
- ChildEnumInfo で指定されたデータに基づいて子デバイスの種類を決定し、VideoChildType でこの型を返します。
- VideoChildType の値に応じて、pChildDescriptor が指すバッファーに適切なデータを入力します。
- 列挙される子デバイスを一意に識別する 32 ビット値を UId に書き込みます。 ビデオ ポート ドライバーは、電源管理などの操作のためにミニポート ドライバーにこのハンドルを渡します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | video.h (Video.h を含む) |