SetupGetSourceFileLocationW-Funktion (setupapi.h)
[Diese Funktion steht für die Verwendung in den im Abschnitt "Anforderungen" angegebenen Betriebssystemen zur Verfügung. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein. 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 für die Installation von Gerätetreibern verwendet.]
Die SetupGetSourceFileLocation Funktion ruft den Speicherort einer Quelldatei ab, die in einer INF-Datei aufgeführt ist.
Syntax
WINSETUPAPI BOOL SetupGetSourceFileLocationW(
[in] HINF InfHandle,
[in] PINFCONTEXT InfContext,
[in] PCWSTR FileName,
[in, out] PUINT SourceId,
[in, out] PWSTR ReturnBuffer,
[out] DWORD ReturnBufferSize,
[in, out] PDWORD RequiredSize
);
Parameter
[in] InfHandle
Handle to the INF file that contains the SourceDisksNames and SourceDisksFiles sections. 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 "Dateien kopieren", für den der vollständige Quellpfad abgerufen werden soll. Wenn dieser Parameter NULL-ist, wird FileName im Abschnitt SourceDisksFiles der INF-Datei durch InfHandle-angegeben.
[in] FileName
Optionaler Zeiger auf eine null-terminated string containing the filename (no path), for which to return the full source location. Dieser Parameter kann NULL-sein, aber entweder FileName- oder InfContext- angegeben werden.
[in, out] SourceId
Zeiger auf eine Variable, die den Quellbezeichner des Mediums empfängt, auf dem sich die Datei befindet, aus dem SourceDisksNames Abschnitt 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 NULL--terminated-Zeichenfolgenpuffer verwenden. Die null-terminated string 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 dann die Funktion ein zweites Mal aufzurufen, um die Daten abzurufen. Mithilfe dieser Technik können Sie Fehler aufgrund einer unzureichenden Puffergröße vermeiden. Weitere Informationen finden Sie im Abschnitt "Hinweise". Dieser Parameter kann NULL-sein.
[out] ReturnBufferSize
Die Größe des Puffers, auf den ReturnBuffer-in Zeichen verweist. Diese Zahl enthält den null Endator.
[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 Endator. Wenn die erforderliche Größe größer als der durch ReturnBufferSizeangegebene 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 Wert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Wenn diese Funktion mit einer ReturnBuffer- von NULL- und einer ReturnBufferSize- null aufgerufen wird, fügt die Funktion die Puffergröße ein, die zum Halten der angegebenen Daten in die Variable erforderlich ist, auf die RequiredSizeverweist. Wenn die Funktion in diesem Fall erfolgreich ausgeführt wird, ist der Rückgabewert ein Wert ungleich Null. Andernfalls ist der Rückgabewert null und erweiterte Fehlerinformationen können durch Aufrufen von GetLastErrorabgerufen werden.
Anmerkung
Der Header setupapi.h 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 Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | setupapi.h |
Library | Setupapi.lib |
DLL- | Setupapi.dll |