次の方法で共有


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_INFOChildDescriptorSize メンバーのビデオ ポート ドライバーによって指定されます。

[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 をページング可能にする必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header video.h (Video.h を含む)

こちらもご覧ください

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren