SHGetFolderPathAndSubDirW-Funktion (shlobj_core.h)
Ruft den Pfad eines Ordners ab und fügt einen vom Benutzer bereitgestellten Unterordnerpfad an.
Syntax
HRESULT SHGetFolderPathAndSubDirW(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszSubDir,
[out] LPWSTR pszPath
);
Parameter
[in] hwnd
Typ: HWND-
Reserviert.
[in] csidl
Typ: int
Ein CSIDL- Wert, der den Ordner identifiziert, dessen Pfad abgerufen werden soll. Nur echte Ordner sind gültig. Wenn ein virtueller Ordner angegeben ist, schlägt diese Funktion fehl. Sie können die Erstellung eines Ordners mit SHGetFolderPathAndSubDir- erzwingen, indem Sie die CSIDL- des Ordners mit CSIDL_FLAG_CREATE kombinieren.
[in] hToken
Typ: HANDLE
Ein Zugriffstoken, das einen bestimmten Benutzer darstellt. Legen Sie diesen Wert für Systeme vor Windows 2000 auf NULL-fest. Bei späteren Systemen ist hToken- in der Regel, aber nicht immer, auf NULL-festgelegt. Möglicherweise müssen Sie dem hToken- einen Wert für diese Ordner zuweisen, die mehrere Benutzer haben können, aber als Zugehörigkeit zu einem einzelnen Benutzer behandelt werden. Der am häufigsten verwendete Ordner dieses Typs ist My Documents.
[in] dwFlags
Typ: DWORD-
Gibt an, ob der zurückgegebene Pfad der tatsächliche Pfad des Ordners oder des Standardpfads ist. Dieser Wert wird in Fällen verwendet, in denen der ordner, der einem CSIDL- Wert zugeordnet ist, vom Benutzer verschoben oder umbenannt werden kann.
SHGFP_TYPE_CURRENT
Gibt den aktuellen Pfad des Ordners zurück.
SHGFP_TYPE_DEFAULT
Gibt den Standardpfad des Ordners zurück.
[in] pszSubDir
Typ: LPCTSTR-
Ein Zeiger auf den Unterpfad, der an den Pfad des Ordners angefügt werden soll. Dies ist eine null--terminated-Zeichenfolge mit Länge MAX_PATH. Wenn Sie kein neues Verzeichnis erstellen, muss es sich um ein vorhandenes Unterverzeichnis handeln, oder die Funktion gibt einen Fehler zurück. Dieser Wert kann NULL- werden, wenn kein Unterpfad angefügt werden soll.
[out] pszPath
Typ: LPTSTR-
Wenn diese Funktion zurückgegeben wird, verweist dieser Wert auf den Verzeichnispfad und angefügten Unterpfad. Dies ist eine null--terminated-Zeichenfolge mit Länge MAX_PATH. Diese Zeichenfolge ist leer, wenn die Funktion einen Fehlercode zurückgibt.
Rückgabewert
Typ: HRESULT-
Wenn diese Funktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.
Bemerkungen
Anmerkung
Der header shlobj_core.h definiert SHGetFolderPathAndSubDir 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- | shlobj_core.h (einschließlich Shlobj.h, Shlobj_core.h) |
Library | Shell32.lib |
DLL- | Shell32.dll (Version 5.60 oder höher) |