SP_DRVINFO_DETAIL_DATA_A Struktur (setupapi.h)
Eine SP_DRVINFO_DETAIL_DATA-Struktur enthält detaillierte Informationen zu einer bestimmten Treiberinformationsstruktur.
Syntax
typedef struct _SP_DRVINFO_DETAIL_DATA_A {
DWORD cbSize;
FILETIME InfDate;
DWORD CompatIDsOffset;
DWORD CompatIDsLength;
ULONG_PTR Reserved;
CHAR SectionName[LINE_LEN];
CHAR InfFileName[MAX_PATH];
CHAR DrvDescription[LINE_LEN];
CHAR HardwareID[ANYSIZE_ARRAY];
} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
Member
cbSize
Die Größe der SP_DRVINFO_DETAIL_DATA Struktur in Bytes.
InfDate
Datum der INF-Datei für diesen Treiber.
CompatIDsOffset
Der Offset in Zeichen vom Anfang des HardwareID-Puffers , in dem die Liste CompatIDs beginnt.
Dieser Wert kann auch verwendet werden, um zu bestimmen, ob eine Hardware-ID vorhanden ist, die der Liste "CompatIDs" vorangestellt ist. Wenn dieser Wert größer als 1 ist, ist die erste Zeichenfolge im HardwareID-Puffer die Hardware-ID. Wenn dieser Wert kleiner oder gleich 1 ist, gibt es keine Hardware-ID.
CompatIDsLength
Die Länge der CompatIDs-Liste in Zeichen, die beim Offset CompatIDsOffset ab dem Anfang des HardwareID-Puffers beginnt.
Wenn CompatIDsLength nonzero ist, enthält die CompatIDs-Liste eine oder mehrere NULL-Zeichenfolgen mit einem zusätzlichen NULL-Zeichen am Ende der Liste.
Wenn CompatIDsLength null ist, ist die CompatIDs-Liste leer. In diesem Fall befindet sich am Ende der Liste kein zusätzliches NULL-Zeichen.
Reserved
Reserviert. Nur zur internen Verwendung.
SectionName[LINE_LEN]
Eine NULL-beendete Zeichenfolge, die den Namen des INF DDInstall-Abschnitts für diesen Treiber enthält. Dies muss der grundlegende Name des DDInstall-Abschnitts sein, z. B . InstallSec, ohne betriebssystem-/architekturspezifische Erweiterungen.
InfFileName[MAX_PATH]
Eine NULL-beendete Zeichenfolge, die den vollqualifizierten Namen der INF-Datei für diesen Treiber enthält.
DrvDescription[LINE_LEN]
Eine NULL-beendete Zeichenfolge, die den Treiber beschreibt.
HardwareID[ANYSIZE_ARRAY]
Ein Puffer, der eine Liste von IDs enthält (eine einzelne Hardware-ID gefolgt von einer Liste kompatibler IDs). Diese IDs entsprechen der Hardware-ID und kompatiblen IDs im Abschnitt INF-Modelle.
Jede ID in der Liste ist eine NULL-beendete Zeichenfolge.
Wenn die Hardware-ID vorhanden ist (d. h. wenn CompatIDsOffset größer als eins ist), wird diese einzelne NULL-Zeichenfolge am Anfang des Puffers gefunden.
Wenn die CompatIDs-Liste nicht leer ist (d. h. wenn CompatIDsLength nicht 0 ist), beginnt die CompatIDs-Liste am Anfang dieses Puffers beim Offset CompatIDsOffset und wird am Ende der Liste mit einem zusätzlichen NULL-Zeichen beendet.
Hinweise
Die Hardware-ID und die kompatiblen IDs für ein Gerät werden im Abschnitt INF-Modelle in der folgenden Reihenfolge angegeben:
- Die erste ID (sofern angegeben) ist die Hardware-ID für das Gerät.
- Die restlichen IDs (sofern angegeben) sind kompatible IDs für das Gerät.
Je nachdem, wie die Liste der Hardware-ID und kompatiblen IDs im Abschnitt INF-Modelle angegeben werden, kann der HardwareID-Puffer beispielsweise wie folgt aussehen:
- \0
- <HWID>\0
- <HWID>\0<COMPATID_1>\0...<>COMPATID_N\0\0
- \0<COMPATID_1>\0...<>COMPATID_N\0\0
// parse the hardware ID, if it exists
if (CompatIDsOffset > 1)
{
// Parse for hardware ID from index 0.
// This is a single NULL-terminated string
}
// Parse the compatible IDs, if they exist
if (CompatIDsLength > 0)
{
// Parse for list of compatible IDs from CompatIDsOffset.
// This is a double NULL-terminated list of strings (i.e. MULTI-SZ)
}
Hinweis
Der setupapi.h-Header definiert SP_DRVINFO_DETAIL_DATA als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Header | setupapi.h (einschließlich Setupapi.h) |