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.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | video.h (einschließen von Video.h) |