SetupGetSourceFileLocationA-Funktion (setupapi.h)
[Diese Funktion ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt "Anforderungen" angegeben sind. Es kann in nachfolgenden Versionen geändert oder entfernt werden. SetupAPI sollte nicht mehr für die Installation von Anwendungen verwendet werden. Verwenden Sie stattdessen den Windows Installer zum Entwickeln von Anwendungsinstallationsprogrammen. SetupAPI wird weiterhin zum Installieren von Gerätetreibern verwendet.]
Die SetupGetSourceFileLocation-Funktion ruft den Speicherort einer Quelldatei ab, die in einer INF-Datei aufgeführt ist.
Syntax
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
);
Parameter
[in] InfHandle
Behandeln Sie die INF-Datei, die die Abschnitte SourceDisksNames und SourceDisksFiles enthält. Wenn plattformspezifische Abschnitte für das System des Benutzers vorhanden sind (z . B. SourceDisksNames.x86 und SourceDisksFiles.x86), wird der plattformspezifische Abschnitt verwendet.
[in] InfContext
Optionaler Zeiger auf den Kontext einer Zeile in einem Abschnitt Zum Kopieren von Dateien, für den der vollständige Quellpfad abgerufen werden soll. Wenn dieser Parameter NULL ist, wird FileName im Abschnitt SourceDisksFiles der von InfHandle angegebenen INF-Datei gesucht.
[in] FileName
Optionaler Zeiger auf eine NULL-Zeichenfolge, die den Dateinamen (kein Pfad) enthält, für die der vollständige Quellspeicherort zurückgegeben werden soll. Dieser Parameter kann NULL sein, aber entweder FileName oder InfContext muss angegeben werden.
[in, out] SourceId
Zeiger auf eine Variable, die den Quellbezeichner des Mediums empfängt, auf dem sich die Datei befindet, aus dem Abschnitt SourceDisksNames der INF-Datei.
[in, out] ReturnBuffer
Optionaler Zeiger auf einen Puffer, um den relativen Quellpfad zu empfangen. Der Quellpfad enthält weder den Dateinamen selbst noch einen Laufwerkbuchstaben/Netzwerkfreigabenamen. Der Pfad beginnt oder endet nicht mit einem umgekehrten Schrägstrich (), sodass die leere Zeichenfolge das Stammverzeichnis angibt. Sie sollten einen Zeichenfolgenpuffer mit NULL-Beendigung verwenden. Die NULL-Zeichenfolge sollte die Größe des Zielpuffers nicht überschreiten. Sie können die Funktion einmal aufrufen, um die erforderliche Puffergröße abzurufen, den erforderlichen Arbeitsspeicher zuzuweisen und die Funktion dann ein zweites Mal aufzurufen, um die Daten abzurufen. Mit diesem Verfahren können Sie Fehler aufgrund einer unzureichenden Puffergröße vermeiden. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. Dieser Parameter kann NULL sein.
[out] ReturnBufferSize
Größe des Puffers, auf den returnBuffer in Zeichen verweist. Diese Zahl enthält den NULL-Abschlussator .
[in, out] RequiredSize
Optionaler Zeiger auf eine Variable, die die erforderliche Größe für den Puffer empfängt, auf den der ReturnBuffer-Parameter in Zeichen verweist. Diese Zahl enthält den NULL-Abschlussator . Wenn die erforderliche Größe größer als der durch ReturnBufferSize angegebene Wert ist, schlägt die Funktion fehl, und GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn diese Funktion mit einem ReturnBuffer von NULL und einer ReturnBufferSize von null aufgerufen wird, legt die Funktion die Puffergröße, die zum Halten der angegebenen Daten erforderlich ist, in die Variable ein, auf die von RequiredSize verwiesen wird. Wenn die Funktion in dieser Funktion erfolgreich ist, ist der Rückgabewert ein Nonzero-Wert. Andernfalls ist der Rückgabewert null, und erweiterte Fehlerinformationen können durch Aufrufen von GetLastError abgerufen werden.
Hinweis
Der setupapi.h-Header definiert SetupGetSourceFileLocation als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | setupapi.h |
Bibliothek | Setupapi.lib |
DLL | Setupapi.dll |