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列挙体から次のいずれかになります。
値の | 意味 |
---|---|
Monitor | 子デバイスはモニターです。 ミニポート ドライバーは、モニターが 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 で指定子の種類によって異なります。 このバッファーのサイズは、ChildDescriptorSizeVIDEO_CHILD_ENUM_INFOメンバーのビデオ ポート ドライバーによって指定されます。
[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 に書き込みます。 ビデオ ポート ドライバーは、電源管理などの操作のためにミニポート ドライバーにこのハンドルを渡します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | video.h (Video.h を含む) |
関連項目
HwVidGetPowerState を する
HwVidSetPowerState の
VideoPortEnumerateChildren の