Funzione SetupOpenInfFileA (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 SetupOpenInfFile apre un file INF e restituisce un handle.
Sintassi
WINSETUPAPI HINF SetupOpenInfFileA(
[in] PCSTR FileName,
[in] PCSTR InfClass,
[in] DWORD InfStyle,
[in] PUINT ErrorLine
);
Parametri
[in] FileName
Puntatore a una stringa con terminazione Null contenente il nome (e il percorso facoltativo) del file INF da aprire. Se il nome file non contiene caratteri separatori di percorso, viene cercato, prima nella directory %windir%\inf e quindi nella directory %windir%\system32. Se il nome file contiene caratteri separatori di percorso, si presuppone che sia una specifica di percorso completa e non venga eseguita un'ulteriore elaborazione.
[in] InfClass
Puntatore facoltativo a una stringa con terminazione Null contenente la classe del file INF desiderato. Questa stringa deve corrispondere al valore Class della sezione Version ,ad esempio Class=Net. Se non è presente alcuna voce nel valore Class, ma nella sezione Version è presente una voce per ClassGUID, il nome della classe corrispondente per tale GUID viene recuperato e usato per il confronto.
[in] InfStyle
Stile del file INF da aprire o cercare. Questo parametro può essere una combinazione dei flag seguenti.
INF_STYLE_OLDNT
Formato di file INF legacy.
INF_STYLE_WIN4
Formato di file INF di Windows.
[in] ErrorLine
Puntatore facoltativo a una variabile a cui questa funzione restituisce il numero di riga (basato su 1) in cui si è verificato un errore durante il caricamento del file INF. Questo valore è in genere affidabile solo se GetLastError non restituisce ERROR_NOT_ENOUGH_MEMORY. Se si verifica una condizione di memoria insufficiente, ErrorLine può essere 0.
Valore restituito
Se ha esito positivo, la funzione restituisce un handle al file INF aperto. In caso contrario, il valore restituito è INVALID_HANDLE_VALUE. Le informazioni estese sull'errore possono essere recuperate da una chiamata a GetLastError.
Commenti
Se il carico non riesce perché il tipo di file INF non corrisponde a InfClass, la funzione restituisce INVALID_HANDLE_VALUE e una chiamata a GetLastError restituisce ERROR_CLASS_MISMATCH.
Se vengono specificati più stili di file INF, lo stile del file INF aperto può essere determinato chiamando la funzione SetupGetInfInformation .
Poiché potrebbero esserci più GUID di classe con lo stesso nome di classe, i chiamanti interessati ai file INF di una determinata classe (ovvero un GUID di classe specifico) devono recuperare il valore ClassGUID dal file INF chiamando SetupQueryInfVersionInformation.
Per i file INF legacy, la stringa InfClass deve corrispondere al tipo specificato nel valore OptionType della sezione Identificazione nel file INF ,ad esempio OptionType=NetAdapter.
Nota
L'intestazione setupapi.h definisce SetupOpenInfFile 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-0 (introdotto in Windows 8) |