MsiGetSourcePathW-Funktion (msiquery.h)
Die MsiGetSourcePath-Funktion gibt den vollständigen Quellpfad für einen Ordner in der Directory-Tabelle zurück.
Syntax
UINT MsiGetSourcePathW(
[in] MSIHANDLE hInstall,
[in] LPCWSTR szFolder,
[out] LPWSTR szPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Parameter
[in] hInstall
Behandeln Sie die Installation, die für eine benutzerdefinierte DLL-Aktion bereitgestellt oder über MsiOpenPackage, MsiOpenPackageEx oder MsiOpenProduct abgerufen wird.
[in] szFolder
Eine NULL-Zeichenfolge, die einen Datensatz der Directory-Tabelle angibt. Wenn es sich bei dem Verzeichnis um ein Stammverzeichnis handelt, kann es sich um einen Wert aus der DefaultDir-Spalte handeln. Andernfalls muss es sich um einen Wert aus der Spalte Verzeichnis handeln.
[out] szPathBuf
Zeiger auf den Puffer, der den vollständigen Quellpfad mit NULL-Beendigung empfängt. Versuchen Sie nicht, die Größe des Puffers zu bestimmen, indem Sie null (value=0) für szPathBuf übergeben. Sie können die Größe des Puffers abrufen, indem Sie eine leere Zeichenfolge übergeben (z. B. "). Die Funktion gibt dann ERROR_MORE_DATA und pcchPathBuf enthält die erforderliche Puffergröße in TCHARs, ohne das beendende NULL-Zeichen. Bei Rückgabe von ERROR_SUCCESS enthält pcchPathBuf die Anzahl der TCHARs, die in den Puffer geschrieben wurden, ohne das beendende NULL-Zeichen.
[in, out] pcchPathBuf
Zeiger auf die Variable, die in TCHARs die Größe des Puffers angibt, auf den die Variable szPathBuf verweist. Wenn die Funktion ERROR_SUCCESS zurückgibt, enthält diese Variable die Größe der in szPathBuf kopierten Daten, ohne das beendende NULL-Zeichen. Wenn szPathBuf nicht groß genug ist, gibt die Funktion ERROR_MORE_DATA zurück und speichert die erforderliche Größe ohne das beendende NULL-Zeichen in der Variablen, auf die von pcchPathBuf verwiesen wird.
Rückgabewert
Die MsiGetSourcePath-Funktion gibt die folgenden Werte zurück:
Hinweise
Vor dem Aufrufen dieser Funktion muss das Installationsprogramm zuerst die Aktionen CostInitialize, FileCost und CostFinalize ausführen. Weitere Informationen finden Sie unter Aufrufen von Datenbankfunktionen über Programme.
Wenn ERROR_MORE_DATA zurückgegeben wird, gibt der Parameter, der ein Zeiger ist, die Größe des Puffers an, der zum Halten der Zeichenfolge erforderlich ist. Wenn ERROR_SUCCESS zurückgegeben wird, wird die Anzahl der Zeichen in den Zeichenfolgenpuffer geschrieben. Daher können Sie die Größe des Puffers abrufen, indem Sie eine leere Zeichenfolge (z. B. "") für den Parameter übergeben, der den Puffer angibt. Versuchen Sie nicht, die Größe des Puffers zu bestimmen, indem Sie null (value=0) übergeben.
Wenn die Funktion fehlschlägt, können Sie erweiterte Fehlerinformationen mithilfe von MsiGetLastErrorRecord abrufen.
Hinweis
Der msiquery.h-Header definiert MsiGetSourcePath 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 Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP |
Zielplattform | Windows |
Kopfzeile | msiquery.h |
Bibliothek | Msi.lib |
DLL | Msi.dll |
Weitere Informationen
Installerspeicherortfunktionen
Übergeben von Null als Argument von Windows Installer-Funktionen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für