Freigeben über


DXGKDDI_QUERY_DEVICE_DESCRIPTOR Rückruffunktion (dispmprt.h)

Die DxgkDdiQueryDeviceDescriptor--Funktion gibt einen Deskriptor für ein untergeordnetes Gerät eines Anzeigeadapters oder für ein externes Gerät (in der Regel einen Monitor) zurück, der mit einem untergeordneten Gerät eines Anzeigeadapters verbunden ist.

Syntax

DXGKDDI_QUERY_DEVICE_DESCRIPTOR DxgkddiQueryDeviceDescriptor;

NTSTATUS DxgkddiQueryDeviceDescriptor(
  [in]      IN_CONST_PVOID MiniportDeviceContext,
  [in]      IN_ULONG ChildUid,
  [in, out] INOUT_PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
)
{...}

Parameter

[in] MiniportDeviceContext

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers stellt dieses Handle zuvor für das DirectX-Grafik-Kernel-Subsystem bereit.

[in] ChildUid

Eine ganze Zahl, die das untergeordnete Gerät eindeutig identifiziert. Die DxgkDdiQueryChildRelations Funktion des Anzeigeporttreibers stellte diesen Bezeichner zuvor für den Anzeigeporttreiber bereit.

[in, out] DeviceDescriptor

Ein Zeiger auf eine DXGK_DEVICE_DESCRIPTOR Struktur. Der Aufrufer initialisiert die DescriptorLength und DescriptorBuffer Member. Wenn das untergeordnete Gerät einen Typ von TypeVideoOutputhat, initialisiert der Aufrufer auch den DescriptorOffset Member. Bei Der Rückgabe empfängt der vom Aufrufer zugewiesene Puffer, auf den der DescriptorBuffer Member verweist, den Deskriptor.

Rückgabewert

DxgkDdiQueryDeviceDescriptor einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Die Funktion hat den Gerätedeskriptor erfolgreich zurückgegeben.
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED Das (onboard) untergeordnete Gerät, das von ChildUid identifiziert wird, unterstützt keinen Deskriptor.
STATUS_MONITOR_NO_DESCRIPTOR Das von ChildUid identifizierte untergeordnete Gerät ist mit einem Monitor verbunden, der keinen EDID-Deskriptor unterstützt.
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA Das von ChildUid identifizierte untergeordnete Gerät ist mit einem Monitor verbunden, der einen EDID-Deskriptor unterstützt, der Deskriptor verfügt jedoch nicht über den EDID-Erweiterungsblock, der durch den DescriptorOffset und DescriptorLengthmembers von DeviceDescriptor angegeben wurde.

Bemerkungen

DxgkDdiQueryDeviceDescriptor- darf niemals mehr schreiben als die Anzahl der by DeviceDescriptor->DescriptorLength.

Wenn das von ChildUid identifizierte untergeordnete Gerät einen Typ von TypeVideoOutputhat, gibt DxgkDdiQueryDeviceDescriptor einen Teil der Extended Display Identification Data (EDID) für den Monitor zurück, der mit der Ausgabe verbunden ist. DeviceDescriptor-->DescriptorOffset- gibt den Byteoffset in die EDID des Starts der zurückzugebenden Daten an.

Wenn das von ChildUid- identifizierte untergeordnete Gerät keine Videoausgabe ist, gibt DxgkDdiQueryDeviceDescriptor einen generischen Gerätedeskriptor zurück; d. h. sie füllt die Elemente einer DXGK_GENERIC_DESCRIPTOR Struktur aus.

Die DxgkDdiQueryDeviceDescriptor--Funktion kann mehrmals für ein untergeordnetes Gerät aufgerufen werden. Für ein untergeordnetes Gerät mit angeschlossenem Monitor ruft der Anzeigeporttreiber DxgkDdiQueryDeviceDescriptor während der Initialisierung auf, um den ersten 128-Byte-Block des EDID eines Monitors abzurufen. Später ruft der Monitorklassenfunktionstreiber (Monitor.sys) DxgkDdiQueryDeviceDescriptor auf, um ausgewählte Teile (einschließlich des ersten 128-Byte-Blocks) des EDID desselben Monitors abzurufen.

DxgkDdiQueryDeviceDescriptor sollte seitenfähig gemacht werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- dispmprt.h
IRQL- PASSIVE_LEVEL

Siehe auch

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus-