Funzione SetupGetMultiSzFieldA (setupapi.h)
[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. SetupAPI non deve più essere usato per l'installazione di applicazioni. Usare invece Windows Installer per lo sviluppo di programmi di installazione delle applicazioni. SetupAPI continua a essere usato per l'installazione dei driver di dispositivo.
La funzione SetupGetMultiSzField recupera più stringhe archiviate in una riga di un file INF, dal campo specificato alla fine della riga.
Sintassi
WINSETUPAPI BOOL SetupGetMultiSzFieldA(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[in] LPDWORD RequiredSize
);
Parametri
[in] Context
Puntatore al contesto per una riga in un file INF.
[in] FieldIndex
Indice in base 1 del campo iniziale all'interno della riga specificata da cui recuperare le stringhe. L'elenco di stringhe viene compilato da ogni campo a partire da questo punto alla fine della riga. Un valore FieldIndex pari a zero non è valido con questa funzione.
[in, out] ReturnBuffer
Puntatore facoltativo a un buffer di caratteri che riceve le stringhe. Ogni stringa è con terminazione Null, con un valore Null aggiuntivo alla fine dell'elenco di stringhe. La stringa con terminazione Null non deve superare le dimensioni del buffer di destinazione. È possibile chiamare la funzione una sola volta per ottenere le dimensioni del buffer necessarie, allocare la memoria necessaria e quindi chiamare la funzione una seconda volta per recuperare i dati. Usando questa tecnica, è possibile evitare errori dovuti a dimensioni del buffer insufficienti. Vedere la sezione relativa alle osservazioni. Questo parametro può essere NULL.
[in] ReturnBufferSize
Dimensioni del buffer a cui punta ReturnBuffer, in caratteri. Ciò include il carattere di terminazione Null .
[in] RequiredSize
Puntatore facoltativo a una variabile che riceve le dimensioni necessarie per il buffer a cui punta ReturnBuffer, in caratteri. Ciò include il carattere di terminazione Null . Se le dimensioni necessarie sono maggiori del valore specificato da ReturnBufferSize, la funzione ha esito negativo e una chiamata a GetLastError restituisce ERROR_INSUFFICIENT_BUFFER.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se questa funzione viene chiamata con returnBuffer di NULL e ReturnBufferSize pari a zero, la funzione inserisce le dimensioni del buffer necessarie per contenere i dati specificati nella variabile a cui punta RequiredSize. Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero. In caso contrario, il valore restituito è zero e le informazioni sull'errore estese possono essere ottenute chiamando GetLastError.
SetupGetMultiSzField non deve essere usato per scorrere i valori stringa in una riga INF. È invece consigliabile usare SetupGetStringField. SetupGetMultiSzField restituisce un valore nel formato REG_MULTI_SZ. Si tratta di una matrice di stringhe con terminazione Null con un carattere Null aggiuntivo. Questo formato non consente stringhe di lunghezza zero. Se l'elenco di stringhe contiene stringhe di lunghezza zero, SetupGetMultiSzField restituirà prematuramente quando rileva il primo valore stringa vuoto.
Nota
L'intestazione setupapi.h definisce SetupGetMultiSzField 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | setupapi.h |
Libreria | Setupapi.lib |
DLL | Setupapi.dll |
Set di API | ext-ms-win-setupapi-inf-l1-1-1 (introdotto in Windows 10, versione 10.0.14393) |