Condividi tramite


Funzione SetupGetMultiSzFieldA (setupapi.h)

[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive. SetupAPI non deve più essere usata 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 di 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 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 è null-terminate, con un null aggiuntivo alla fine dell'elenco di stringhe. Il nullstringa con terminazione non deve superare le dimensioni del buffer di destinazione. È possibile chiamare la funzione una 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 a causa di dimensioni del buffer insufficienti. Vedere la sezione 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 non riesce 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 ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Se questa funzione viene chiamata con un ReturnBuffer di NULL e un 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 è possibile ottenere informazioni estese sull'errore chiamando GetLastError.

il SetupGetMultiSzField non deve essere usato per scorrere i valori stringa in una riga INF. È invece consigliabile usare SetupGetStringField. SetupGetMultiSzField restituisce un valore nel formato di REG_MULTI_SZ. Si tratta di una matrice di stringhe nullterminate da 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 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
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
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)

Vedere anche

Funzioni

panoramica

SetupGetBinaryField

SetupGetIntField

SetupGetStringField