struttura SP_DRVINFO_DETAIL_DATA_W (setupapi.h)
Una struttura SP_DRVINFO_DETAIL_DATA contiene informazioni dettagliate su una particolare struttura di informazioni sui driver.
Sintassi
typedef struct _SP_DRVINFO_DETAIL_DATA_W {
DWORD cbSize;
FILETIME InfDate;
DWORD CompatIDsOffset;
DWORD CompatIDsLength;
ULONG_PTR Reserved;
WCHAR SectionName[LINE_LEN];
WCHAR InfFileName[MAX_PATH];
WCHAR DrvDescription[LINE_LEN];
WCHAR HardwareID[ANYSIZE_ARRAY];
} SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W;
Membri
cbSize
Dimensione, in byte, della struttura SP_DRVINFO_DETAIL_DATA.
InfDate
Data del file INF per questo driver.
CompatIDsOffset
Offset, in caratteri, dall'inizio della HardwareID buffer in cui inizia l'elenco CompatIDs.
Questo valore può essere usato anche per determinare se è presente un ID hardware che precede l'elenco CompatIDs. Se questo valore è maggiore di 1, la prima stringa nel buffer HardwareID
CompatIDsLength
Lunghezza, in caratteri, dell'elenco CompatIDs a partire dall'offset
Se compatIDsLength è diverso da zero, l'elenco CompatIDs contiene una o più stringhe con terminazione NULL con un carattere NULL aggiuntivo alla fine dell'elenco.
Se compatIDsLength è zero, l'elenco CompatIDs è vuoto. In tal caso, alla fine dell'elenco non è presente alcun carattere NULL aggiuntivo.
Reserved
Riservato. Solo per uso interno.
SectionName[LINE_LEN]
Stringa con terminazione NULL contenente il nome della sezione INF DDInstall per questo driver. Deve trattarsi del nome di sezione DDInstall
InfFileName[MAX_PATH]
Stringa con terminazione NULL contenente il nome completo del file INF per questo driver.
DrvDescription[LINE_LEN]
Stringa con terminazione NULL che descrive il driver.
HardwareID[ANYSIZE_ARRAY]
Buffer che contiene un elenco di ID (un singolo ID hardware seguito da un elenco di ID compatibili ). Questi ID corrispondono all'ID hardware e agli ID compatibili nella sezione modelli INF .
Ogni ID nell'elenco è una stringa con terminazione NULL.
Se l'ID hardware esiste, ovvero se CompatIDsOffset è maggiore di uno, questa singola stringa con terminazione NULL viene trovata all'inizio del buffer.
Se l'elenco CompatIDs non è vuoto ,ovvero se CompatIDsLength non è zero), l'elenco CompatIDs inizia in corrispondenza dell'offset CompatIDsOffset dall'inizio del buffer e viene terminato con un carattere NULL aggiuntivo alla fine dell'elenco.
Osservazioni
L'ID hardware e gli ID compatibili per un dispositivo sono specificati nella sezione modelli INF nell'ordine seguente:
- Il primo ID (se specificato) è l'ID hardware per il dispositivo.
- Gli ID rimanenti (se specificato) sono ID compatibili per il dispositivo.
Ad esempio, a seconda del modo in cui l'elenco di ID hardware e ID compatibili vengono specificati nella sezione modelli INF , il buffer HardwareID può essere simile a uno dei seguenti:
- \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)
}
Nota
L'intestazione setupapi.h definisce SP_DRVINFO_DETAIL_DATA come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
intestazione |
setupapi.h (include Setupapi.h) |
Vedere anche
sezione modelli INF