Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft den vollständigen Pfad eines bekannten Ordners ab, der durch die KNOWNFOLDERID des Ordners identifiziert wird.
Syntax
HRESULT SHGetKnownFolderPath(
[in] REFKNOWNFOLDERID rfid,
[in] DWORD dwFlags,
[in, optional] HANDLE hToken,
[out] PWSTR *ppszPath
);
Die Parameter
[in] rfid
Typ: REFKNOWNFOLDERID
Ein Verweis auf die KNOWNFOLDERID , die den Ordner identifiziert.
[in] dwFlags
Art: DWORD
Flags, die spezielle Abrufoptionen angeben. Dieser Wert kann 0 sein; andernfalls ein oder mehrere der KNOWN_FOLDER_FLAG Werte.
[in, optional] hToken
Typ: HANDLE
Ein Zugriffstoken , das einen bestimmten Benutzer darstellt. Wenn dieser Parameter NULL ist, was die am häufigsten verwendete Verwendung ist, fordert die Funktion den bekannten Ordner für den aktuellen Benutzer an.
Fordern Sie den Ordner eines bestimmten Benutzers an, indem Sie das hToken dieses Benutzers übergeben. Dies erfolgt in der Regel im Kontext eines Diensts, der über ausreichende Berechtigungen zum Abrufen des Tokens eines bestimmten Benutzers verfügt. Dieses Token muss mit TOKEN_QUERY - und TOKEN_IMPERSONATE Rechten geöffnet werden. In einigen Fällen müssen Sie auch TOKEN_DUPLICATE einschließen. Zusätzlich zum Übergeben des hTokens des Benutzers muss die Registrierungsstruktur dieses bestimmten Benutzers bereitgestellt werden. Weitere Informationen zu Problemen mit der Zugriffssteuerung finden Sie unter "Zugriffssteuerung ".
Wenn Sie den hToken-Parameter einem Wert von -1 zuweisen, wird der Standardbenutzer angegeben. Dadurch können Clients von SHGetKnownFolderPath Ordnerspeicherorte (z. B. den Desktopordner ) für den Standardbenutzer suchen. Das Benutzerprofil des Standardbenutzers wird dupliziert, wenn ein neues Benutzerkonto erstellt wird, und enthält spezielle Ordner wie Dokumente und Desktop. Alle Elemente, die dem Standardbenutzerordner hinzugefügt werden, werden auch in einem neuen Benutzerkonto angezeigt. Beachten Sie, dass für den Zugriff auf die Standardbenutzerordner Administratorrechte erforderlich sind.
[out] ppszPath
Typ: PWSTR*
Wenn diese Methode zurückgegeben wird, enthält sie die Adresse eines Zeigers auf eine mit Null beendete Unicode-Zeichenfolge, die den Pfad des bekannten Ordners angibt. Der Aufrufvorgang ist für das Freigeben dieser Ressource verantwortlich, sobald sie nicht mehr benötigt wird, indem CoTaskMemFree aufgerufen wird, unabhängig davon, ob SHGetKnownFolderPath erfolgreich ist oder nicht. Der zurückgegebene Pfad enthält keinen nachgestellten umgekehrten Schrägstrich. Beispielsweise wird "C:\Users" anstelle von "C:\Users\" zurückgegeben.
Rückgabewert
Typ: HRESULT-
Gibt S_OK zurück, wenn dies erfolgreich ist, oder einen anderen Fehlerwert, einschließlich der folgenden:
| Rückgabecode | Description |
|---|---|
|
Unter anderem kann dieser Wert darauf hinweisen, dass der RFID-Parameter auf eine KNOWNFOLDERID verweist, die keinen Pfad aufweist (z. B. einen Ordner, der als KF_CATEGORY_VIRTUAL markiert ist). |
|
Unter anderem kann dieser Wert darauf hinweisen, dass der RFID-Parameter auf eine KNOWNFOLDERID verweist, die nicht auf dem System vorhanden ist. Nicht alle KNOWNFOLDERID-Werte sind auf allen Systemen vorhanden. Verwenden Sie IKnownFolderManager::GetFolderIds , um den Satz von KNOWNFOLDERID-Werten für das aktuelle System abzurufen. |
Bemerkungen
Diese Funktion ersetzt SHGetFolderPath. Diese ältere Funktion ist jetzt einfach ein Wrapper für SHGetKnownFolderPath.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows Vista [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2008 [Nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | shlobj_core.h (einschließlich Shlobj.h) |
| Library | OneCore.Lib |
| DLL | Shell32.dll (Version 6.0.6000 oder höher) |