次の方法で共有


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 に書き込みます。 ビデオ ポート ドライバーは、電源管理などの操作のためにミニポート ドライバーにこのハンドルを渡します。
HwVidGetVideoChildDescriptor ページング可能にする必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー video.h (Video.h を含む)

関連項目

HwVidGetPowerState する

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren