SP_DRVINFO_DETAIL_DATA_A struttura (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_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;
Members
cbSize
Dimensioni, in byte, della struttura SP_DRVINFO_DETAIL_DATA.
InfDate
Data del file INF per questo driver.
CompatIDsOffset
Offset, in caratteri, dall'inizio del buffer HardwareID 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 è l'ID hardware. Se questo valore è minore o uguale a 1, non esiste alcun ID hardware.
CompatIDsLength
Lunghezza, in caratteri, dell'elenco CompatIDs a partire dall'offset CompatIDsOffset dall'inizio del buffer HardwareID .
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 questo caso, non esiste alcun carattere NULL aggiuntivo alla fine dell'elenco.
Reserved
Riservato. Solo per uso interno.
SectionName[LINE_LEN]
Stringa con terminazione NULL contenente il nome della sezione INF DDInstall per questo driver. Questo deve essere il nome della sezione DDInstall di base, ad esempio InstallSec, senza estensioni specifiche del sistema operativo/architettura.
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 all'offset CompatIDsOffset dall'inizio di questo buffer e viene terminato con un carattere NULL aggiuntivo alla fine dell'elenco.
Commenti
L'ID hardware e gli ID compatibili per un dispositivo vengono 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 viene specificato l'elenco di ID hardware e ID compatibili 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Intestazione | setupapi.h (includere Setupapi.h) |