Funzione SetupGetSourceFileLocationA (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 SetupGetSourceFileLocation recupera il percorso di un file di origine elencato in un file INF.
Sintassi
WINSETUPAPI BOOL SetupGetSourceFileLocationA(
[in] HINF InfHandle,
[in] PINFCONTEXT InfContext,
[in] PCSTR FileName,
[in, out] PUINT SourceId,
[in, out] PSTR ReturnBuffer,
[out] DWORD ReturnBufferSize,
[in, out] PDWORD RequiredSize
);
Parametri
[in] InfHandle
Gestire il file INF che contiene le sezioni SourceDisksNames e SourceDisksFiles . Se esistono sezioni specifiche della piattaforma per il sistema dell'utente( ad esempio SourceDisksNames.x86 e SourceDisksFiles.x86), verrà usata la sezione specifica della piattaforma.
[in] InfContext
Puntatore facoltativo al contesto di una riga in una sezione Copia file per cui recuperare il percorso di origine completo. Se questo parametro è NULL, FileName viene cercato nella sezione SourceDisksFiles del file INF specificato da InfHandle.
[in] FileName
Puntatore facoltativo a una stringa con terminazione Null contenente il nome file (nessun percorso) per il quale restituire il percorso di origine completo. Questo parametro può essere NULL, ma è necessario specificare FileName o InfContext .
[in, out] SourceId
Puntatore a una variabile che riceve l'identificatore di origine del supporto in cui si trova il file dalla sezione SourceDisksNames del file INF.
[in, out] ReturnBuffer
Puntatore facoltativo a un buffer per ricevere il percorso di origine relativo. Il percorso di origine non include il nome file stesso, né include una lettera di unità o un nome di condivisione di rete. Il percorso non inizia o termina con una barra rovesciata (), quindi la stringa vuota specifica la directory radice. È consigliabile usare un buffer di stringhe con terminazione Null. 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.
[out] ReturnBufferSize
Dimensioni del buffer a cui punta ReturnBuffer, in caratteri. Questo numero include il carattere di terminazione Null .
[in, out] RequiredSize
Puntatore facoltativo a una variabile che riceve le dimensioni necessarie per il buffer a cui punta il parametro ReturnBuffer , in caratteri. Questo numero include il carattere di terminazione Null . Se la dimensione richiesta è maggiore del valore specificato da ReturnBufferSize, la funzione ha esito negativo e 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.
Nota
L'intestazione setupapi.h definisce SetupGetSourceFileLocation 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
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 |