VerFindFileA-Funktion (winver.h)
Bestimmt, wo eine Datei installiert werden soll, basierend darauf, ob sie eine andere Version der Datei im System findet. Die Werte , die VerFindFile in den angegebenen Puffern zurückgibt, werden in einem nachfolgenden Aufruf der VerInstallFile-Funktion verwendet.
Syntax
DWORD VerFindFileA(
[in] DWORD uFlags,
[in] LPCSTR szFileName,
[in, optional] LPCSTR szWinDir,
[in] LPCSTR szAppDir,
[out] LPSTR szCurDir,
[in, out] PUINT puCurDirLen,
[out] LPSTR szDestDir,
[in, out] PUINT puDestDirLen
);
Parameter
[in] uFlags
Art: DWORD
Dieser Parameter kann der folgende Wert sein. Alle anderen Bits sind reserviert.
[in] szFileName
Typ: LPCTSTR
Der Name der zu installierenden Datei. Schließen Sie nur den Dateinamen und die Erweiterung ein, nicht einen Pfad.
[in, optional] szWinDir
Typ: LPCTSTR
Das Verzeichnis, in dem Windows ausgeführt wird oder ausgeführt wird. Diese Zeichenfolge wird von der GetWindowsDirectory-Funktion zurückgegeben.
[in] szAppDir
Typ: LPCTSTR
Das Verzeichnis, in dem das Installationsprogramm eine Reihe verwandter Dateien installiert. Wenn das Installationsprogramm eine Anwendung installiert, ist dies das Verzeichnis, in dem sich die Anwendung befindet. Dieser Parameter verweist auch auf das aktuelle Verzeichnis der Anwendung, sofern nicht anders angegeben.
[out] szCurDir
Typ: LPWSTR
Ein Puffer, der den Pfad zu einer aktuellen Version der installierten Datei empfängt. Der Pfad ist eine Zeichenfolge mit Null. Wenn keine aktuelle Version installiert ist, enthält der Puffer eine Zeichenfolge mit der Länge null. Der Puffer sollte mindestens _MAX_PATH Zeichen lang sein, obwohl dies nicht erforderlich ist.
[in, out] puCurDirLen
Typ: PUINT
Die Länge des szCurDir-Puffers . Dieser Zeiger darf nicht NULL sein.
Wenn die Funktion zurückgibt, enthält lpuCurDirLen die Größe der in szCurDir zurückgegebenen Daten in Zeichen, einschließlich des beendenden NULL-Zeichens. Wenn der Puffer zu klein ist, um alle Daten zu enthalten, entspricht lpuCurDirLen der Größe des Puffers, der zum Speichern des Pfads erforderlich ist.
[out] szDestDir
Typ: LPTSTR
Ein Puffer, der den Pfad zum von VerFindFile empfohlenen Installationsspeicherort empfängt. Der Pfad ist eine Zeichenfolge mit Null. Der Puffer sollte mindestens _MAX_PATH Zeichen lang sein, obwohl dies nicht erforderlich ist.
[in, out] puDestDirLen
Typ: PUINT
Ein Zeiger auf eine Variable, die die Länge des szDestDir-Puffers angibt. Dieser Zeiger darf nicht NULL sein.
Wenn die Funktion zurückgibt, enthält lpuDestDirLen die Größe der in szDestDir zurückgegebenen Daten in Zeichen, einschließlich des beendenden NULL-Zeichens. Wenn der Puffer zu klein ist, um alle Daten zu enthalten, ist lpuDestDirLen die Größe des Puffers, der zum Speichern des Pfads erforderlich ist.
Rückgabewert
Art: DWORD
Der Rückgabewert ist eine Bitmaske, die die status der Datei angibt. Er kann einen der folgenden Werte annehmen. Alle anderen Werte sind reserviert.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die aktuell installierte Version der Datei befindet sich nicht im empfohlenen Ziel. |
|
Das System verwendet die aktuell installierte Version der Datei. daher kann die Datei nicht überschrieben oder gelöscht werden. |
|
Mindestens einer der Puffer war zu klein, um die entsprechende Zeichenfolge zu enthalten. Eine Anwendung sollte die Ausgabepuffer überprüfen, um festzustellen, welcher Puffer zu klein war. |
Hinweise
Diese Funktion funktioniert auf 16-, 32- und 64-Bit-Dateiimages.
VerFindFile sucht mithilfe der OpenFile-Funktion nach einer Kopie der angegebenen Datei. Es bestimmt jedoch das Systemverzeichnis aus dem angegebenen Windows-Verzeichnis oder durchsucht den Pfad.
Wenn der dwFlags-Parameter angibt, dass die Datei für diese Anwendung privat ist (nicht VFFF_ISSHAREDFILE), empfiehlt VerFindFile , die Datei im Verzeichnis der Anwendung zu installieren. Andernfalls empfiehlt die Funktion, die Datei im Windows-Verzeichnis zu installieren, wenn das System eine freigegebene Kopie des Systems ausführt. Wenn das System eine private Kopie des Systems ausführt, empfiehlt die Funktion, die Datei im Systemverzeichnis zu installieren.
Hinweis
Der winver.h-Header definiert VerFindFile 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
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winver.h (einschließen von Windows.h) |
Bibliothek | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Siehe auch
Konzept
Andere Ressourcen
Referenz