Freigeben über


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)

Siehe auch

SHGetFolderPath-