Funzione SetupGetStringFieldA (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 SetupGetStringField recupera una stringa dal campo specificato di una riga in un file INF.
Sintassi
WINSETUPAPI BOOL SetupGetStringFieldA(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out] PDWORD RequiredSize
);
Parametri
[in] Context
Puntatore al contesto per una riga in un file INF.
[in] FieldIndex
Indice in base 1 del campo all'interno della riga specificata da cui recuperare la stringa. Utilizzare fieldIndex pari a 0 per recuperare una chiave stringa, se presente.
[in, out] ReturnBuffer
Puntatore facoltativo a un buffer che riceve la stringa con terminazione Null. È necessario assicurarsi che il buffer di destinazione sia uguale o maggiore del buffer di origine. Questo parametro può essere NULL. Vedere la sezione relativa alle osservazioni.
[in] ReturnBufferSize
Dimensioni del buffer a cui punta ReturnBuffer, in caratteri. Ciò include il carattere di terminazione Null .
[out] RequiredSize
Puntatore facoltativo a una variabile che riceve le dimensioni necessarie per il buffer a cui punta il parametro ReturnBuffer , in caratteri. Se viene specificato ReturnBuffer e le dimensioni effettive necessarie sono maggiori del valore specificato da ReturnBufferSize, la funzione ha esito negativo e non archivia la stringa nel buffer. In questo caso, una chiamata a GetLastError restituisce ERROR_INSUFFICIENT_BUFFER. Per la versione Unicode di questa funzione, le dimensioni necessarie sono in caratteri. Ciò include il carattere di terminazione Null .
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.
È 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.
Si noti che la lunghezza massima di qualsiasi singola stringa specificata in una sezione Stringhe INF è di 512 caratteri, incluso il valore NULL di terminazione. Se la lunghezza della stringa è maggiore di 512, verrà troncata e non verrà restituito alcun errore. La lunghezza massima di qualsiasi stringa concatenata creata da uno o più token %strkey% è di 4096 caratteri.
Nota
L'intestazione setupapi.h definisce SetupGetStringField 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) |