PVIDEO_HW_GET_CHILD_DESCRIPTOR Rückruffunktion (video.h)

HwVidGetVideoChildDescriptor gibt einen Deskriptor, einen Typ und eine Identifikationsnummer für ein bestimmtes untergeordnetes Gerät der Grafikkarte zurück.

Syntax

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
)
{...}

Parameter

[in] HwDeviceExtension

Zeiger auf den Speicherbereich des Miniporttreibers pro Adapter. Weitere Informationen finden Sie unter Geräteerweiterungen.

[in] ChildEnumInfo

Ist eine VIDEO_CHILD_ENUM_INFO-Struktur , die das aufgezählte Gerät beschreibt.

[out] VideoChildType

Zeiger auf eine Position, an der der Miniporttreiber den Typ des untergeordneten Elements zurückgibt, das aufgelistet wird. Bei diesem Member kann es sich um einen der folgenden Elemente aus der VIDEO_CHILD_TYPE-Enumeration handeln:

Wert Bedeutung
Überwachen Das untergeordnete Gerät ist ein Monitor. Wenn der Miniporttreiber erkennt, dass dem Monitor eine DDC2-kompatible EDID-Struktur zugeordnet ist, sollte der Miniporttreiber die EDID-Informationen aus dem Monitor extrahieren und im Puffer zurückgeben, an den pChildDescriptor verweist. Der Miniporttreiber kann die EDID einfacher vom Monitor abrufen, indem er VideoPortDDCMonitorHelper aufruft.
Wenn der erkannte Monitor nicht DDC2-konform ist, sollte der Miniporttreiber nichts in pChildDescriptor zurückgeben.
NonPrimaryChip Ist für die Systemverwendung reserviert.
VideoChip Das untergeordnete Gerät ist der Grafikchip.
Der Miniporttreiber sollte diesen Typ zurückgeben, wenn ChildEnumInfo.ChildIndex DISPLAY_ADAPTER_HW_ID ist. Der Miniporttreiber sollte nichts in pChildDescriptor zurückgeben.
Andere Dem untergeordneten Gerät ist ein separater Gerätetreiber zugeordnet.
Der Miniporttreiber sollte den PnP-Hardwarebezeichner des Geräts als Unicode-Zeichenfolge im Puffer zurückgeben, auf den pChildDescriptor verweist. Diese Zeichenfolge muss mit der Geräte-ID übereinstimmen, die in der INF-Datei des Treibers angegeben ist. Es wird vom Betriebssystem als Hardware-ID für dieses Gerät verwendet.

[out] pChildDescriptor

Zeiger auf einen Puffer, in dem der Miniporttreiber Daten zurückgeben kann, die das Gerät identifizieren. Die zurückgegebenen Informationen hängen vom untergeordneten Typ ab, der in VideoChildType angegeben ist. Die Größe dieses Puffers wird vom Videoporttreiber im ChildDescriptorSize-Member von VIDEO_CHILD_ENUM_INFO angegeben.

[out] UId

Zeiger auf den Speicherort, an dem der Miniporttreiber eine eindeutige 32-Bit-Geräte-ID für dieses Gerät zurückgibt. Der Miniporttreiber sollte die UId auf DISPLAY_ADAPTER_HW_ID festlegen, wenn es sich bei dem Gerät um die tatsächliche Grafikkarte handelt.

[out] pUnused

Ist nicht verwendet und muss auf null festgelegt werden.

Rückgabewert

HwVidGetVideoChildDescriptor gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
VIDEO_ENUM_INVALID_DEVICE Rufen Sie erneut an. Der Miniporttreiber konnte das in ChildEnumInfo identifizierte untergeordnete Gerät nicht auflisten, es gibt jedoch weitere Geräte, die aufgelistet werden müssen.
VIDEO_ENUM_MORE_DEVICES Ein neues untergeordnetes Gerät wird aufgelistet. Der Videoport ruft HwVidGetVideoChildDescriptor in diesem Fall erneut auf.
VIDEO_ENUM_NO_MORE_DEVICES Der Miniporttreiber konnte das in ChildEnumInfo identifizierte untergeordnete Gerät nicht auflisten. Enumeration beenden. Es gibt keine weiteren Geräte, die aufgelistet werden müssen.

Hinweise

Standardmäßig wird HwVidGetVideoChildDescriptor erst aufgerufen, nachdem das Gerät von HwVidFindAdapter gestartet wurde. Um die Enumeration der untergeordneten Elemente eines Geräts zuzulassen, bevor das Gerät gestartet wird, legen Sie den AllowEarlyEnumeration-Membervon VIDEO_HW_INITIALIZATION_DATA fest. Wenn AllowEarlyEnumeration festgelegt ist, kann HwVidGetVideoChildDescriptor jederzeit aufgerufen werden.

HwVidGetVideoChildDescriptor sollte folgendes tun:

  • Bestimmen Sie den Typ des untergeordneten Geräts basierend auf den in ChildEnumInfo bereitgestellten Daten, und geben Sie diesen Typ in VideoChildType zurück.
  • Geben Sie den Puffer ein, auf den pChildDescriptor mit den entsprechenden Daten verweist, abhängig vom Wert von VideoChildType.
  • Schreiben Sie einen 32-Bit-Wert in die UId , der das untergeordnete Gerät eindeutig identifiziert, das aufgelistet wird. Der Videoporttreiber übergibt dieses Handle für Vorgänge wie die Energieverwaltung an den Miniporttreiber zurück.
HwVidGetVideoChildDescriptor sollte seitenfähig gemacht werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile video.h (einschließen von Video.h)

Weitere Informationen

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren