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;
Angehörige
cbSize
Die Größe der SP_DRVINFO_DETAIL_DATA Struktur in Byte.
InfDate
Datum der INF-Datei für diesen Treiber.
CompatIDsOffset
Der Offset in Zeichen vom Anfang der HardwareID Puffer, 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" vorausgeht. 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 in Zeichen der Liste "CompatIDs" beginnend beim Offset CompatIDsOffset- vom Anfang des HardwareID- Puffers.
Wenn CompatIDsLength- ungleich Null ist, enthält die Liste "CompatIDs" eine oder mehrere NULL-beendete Zeichenfolgen mit einem zusätzlichen NULL-Zeichen am Ende der Liste.
Wenn CompatIDsLength null ist, ist die Liste "CompatIDs" leer. In diesem Fall gibt es kein zusätzliches NULL-Zeichen am Ende der Liste.
Reserved
Reserviert. Nur für die interne Verwendung.
SectionName[LINE_LEN]
Eine MIT NULL beendete Zeichenfolge, die den Namen des INF DDInstall-Abschnitts enthält, für diesen Treiber. Dies muss der grundlegende DDInstall Abschnittsname sein, z. B. InstallSec, ohne betriebssystem-/architekturspezifische Erweiterungen.
InfFileName[MAX_PATH]
Eine MIT NULL beendete Zeichenfolge, die den vollqualifizierten Namen der INF-Datei für diesen Treiber enthält.
DrvDescription[LINE_LEN]
Eine MIT 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 Models.
Jede ID in der Liste ist eine NULL-beendete Zeichenfolge.
Wenn die Hardware-ID vorhanden ist (d. h., wenn CompatIDsOffset größer als eine ist), wird diese einzelne NULL-beendete Zeichenfolge am Anfang des Puffers gefunden.
Wenn die Liste "CompatIDs" nicht leer ist (d. h., wenn CompatIDsLength ungleich Null ist), beginnt die Liste "CompatIDs" beim Offset CompatIDsOffset vom Anfang dieses Puffers und wird mit einem zusätzlichen NULL-Zeichen am Ende der Liste beendet.
Bemerkungen
Die Hardware-ID und kompatiblen I Ds 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 verbleibenden 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-Modelleangegeben werden, kann der HardwareID- Puffer einem der folgenden Ähneln ähneln:
- \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)
}
Anmerkung
Der header setupapi.h 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 Code, der nicht codierungsneutral ist, 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 (include Setupapi.h) |