Freigeben über


D3DDDI_QUERYREGISTRY_INFO Struktur (d3dukmdt.h)

Die D3DDDI_QUERYREGISTRY_INFO-Struktur gibt an, wie D3DDDICB_QUERYADAPTERINFO2::p DriverPrivateData- neu interpretiert werden soll, wenn D3DDDICB_QUERYADAPTERINFO2::QueryType-D3DDDI_QUERYADAPTERTYPE_QUERYREGISTRYist.

Syntax

typedef struct _D3DDDI_QUERYREGISTRY_INFO {
  D3DDDI_QUERYREGISTRY_TYPE   QueryType;
  D3DDDI_QUERYREGISTRY_FLAGS  QueryFlags;
  WCHAR                       ValueName[MAX_PATH];
  ULONG                       ValueType;
  ULONG                       PhysicalAdapterIndex;
  ULONG                       OutputValueSize;
  D3DDDI_QUERYREGISTRY_STATUS Status;
  union {
    DWORD                 OutputDword;
    D3DKMT_ALIGN64 UINT64 OutputQword;
    WCHAR                 OutputString[1];
    BYTE                  OutputBinary[1];
  };
} D3DDDI_QUERYREGISTRY_INFO;

Angehörige

QueryType

[in] Ein D3DDDI_QUERYREGISTRY_TYPE Wert, der angibt, welche Daten abgerufen werden sollen.

D3DDDI_QUERYREGISTRY_INFO::QueryType ist das wichtigste Feld dieser Struktur. Es gibt an, ob die Registrierungs- oder Dateipfade abgerufen werden, sowie welche spezifische Registrierungsstruktur und welcher Dateipfad.

Registrierungsschlüssel-Enumerationen:

  • D3DDDI_QUERYREGISTRY_SERVICEKEY
  • D3DDDI_QUERYREGISTRY_ADAPTERKEY

Dateipfad-Enumerationen:

  • D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
  • D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH

QueryFlags

[in] Eine D3DDDI_QUERYREGISTRY_FLAGS Struktur mit Flags, die steuern, wie Zeichenfolgen abgerufen werden. QueryFlags- können zusätzliche Vorgänge ausführen, z. B. abgerufene Zeichenfolgen mit Dateipfaden in die Gastumgebung übersetzen.

ValueName[MAX_PATH]

[in] Mit Null beendete UNICODE-Zeichenfolge, die einen Unterschlüsselnamen enthalten kann, der vom tatsächlichen Wertnamen durch umgekehrten Schrägstrich getrennt ist. Beispielsweise könnte ValueName-SubKey1\ SubKey2\NameOfTheValuewerden. In diesem Fall sind SubKey1\ SubKey2 die Unterschlüssel des Diensts oder der Softwareschlüssel.

Beim Abrufen von Registrierungsinformationen muss ValueName- den abzurufenden Registrierungswertnamen angeben. Beim Abrufen von Dateipfadinformationen wird ValueName- ignoriert.

ValueType

[in] Beim Abrufen von Registrierungsinformationen muss ValueType- den erwarteten Registrierungswerttyp angeben, der dem Registrierungswertnamen entspricht. Es muss REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_BINARY, REG_QWORD oder REG_DWORD sein.

Beim Abrufen von Dateipfadinformationen muss ValueType- 0 sein, um erfolgreich zu sein.

Weitere Informationen finden Sie unter Registrierungswerttypen.

PhysicalAdapterIndex

[in] Der Index des physischen Adapters in einer LDA-Kette.

OutputValueSize

[out] Größe in Byte der geschriebenen Ausgabe, wenn pfnQueryAdapterInfoCb 2 erfolgreich ist (Status ist D3DDDI_QUERYREGISTRY_STATUS_SUCCESS). Wenn Status- D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW ist, ist OutputValueSize- die Anzahl der Bytes, die zum Halten des Ausgabewerts erforderlich sind.

Status

[out] Ein D3DDDI_QUERYREGISTRY_STATUS Wert, der den Status der Abfrage angibt.

Wenn ein Benutzermodus-Anzeigetreiber die pfnQueryAdapterInfoCb2--Funktion der Laufzeit aufruft, wird ein Aufruf der DxgkDdiQueryAdapterInfo-Funktion initiiert.

Der Status der Abfrage wird separat vom Rückgabewert zurückgegeben, um anzugeben, dass unterschiedliche Datenmengen abgerufen wurden. Die folgenden drei Rückgabezustände sind am wichtigsten zu verstehen:

  • Wenn pfnQueryAdapterInfoCb2 STATUS_SUCCESS zurückgibt:
    • Wenn Status-D3DDDI_QUERYREGISTRY_STATUS_SUCCESSist, sind alle Felder gültig, die mit OutputXxx- beginnen.
    • Wenn StatusD3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOWist, ist nicht genügend Speicherplatz in den privaten Daten vorhanden, um den Registrierungswert zu halten. Nur OutputValueSize gültig ist.
  • Wenn pfnQueryAdapterInfoCb2 nicht STATUS_SUCCESS zurückgibt, bleiben alle Felder unverändert, außer dass Status- möglicherweise in D3DDDI_QUERYREGISTRY_STATUS_FAILgeändert werden.

OutputDword

[out] Ein Teil der Union, der den Ausgabewert enthält. OutputDword- ist ein Benutzerfreundlichkeitsfeld zum Erneutinterpretieren der erfolgreich abgerufenen Daten, wenn ein RegistrierungsdWORD gelesen wird.

OutputQword

[out] Ein Teil der Union, der den Ausgabewert enthält. OutputQword- ist ein Benutzerfreundlichkeitsfeld zum Erneuten Interpretieren der erfolgreich abgerufenen Daten, wenn ein Registrierungs-QWORD gelesen wird.

OutputString[1]

OutputBinary[1]

Bemerkungen

D3DDDI_QUERYREGISTRY_INFO wird verwendet, um die Registrierung für Informationen zu lesen, die häufig während der Treiberinstallation zwischengespeichert werden.

Anstatt unformatierte Betriebssystemmethoden zu verwenden, müssen Benutzermodustreiber und andere Komponenten diese Technik in den Betriebssystemversionen, in denen sie unterstützt wird, überall verwenden. Auf diese Weise kann das Betriebssystem die Kompatibilität des Benutzermodus mit Abhängigkeitsänderungen und Szenarien wie virtualisierten Umgebungen maximieren. Weitere Informationen finden Sie unter GPU-Paravirtualisierung.

Anforderungen

Anforderung Wert
Unterstützter Client (Mindestversion) Windows 10, Version 1803 (WDDM 2.4)
Header- d3dukmdt.h

Siehe auch

D3DDDI_QUERYREGISTRY_TYPE

D3DDDI_QUERYREGISTRY_FLAGS

D3DDDI_QUERYREGISTRY_STATUS

KMTQUERYADAPTERINFOTYPE

D3DKMT_QUERYADAPTERINFO

pfnQueryAdapterInfoCb2