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 wird, 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 für Systeme vor Windows 2000 diesen Wert auf NULL fest. Für spätere Systeme ist hToken in der Regel, aber nicht immer, auf NULL festgelegt. Möglicherweise müssen Sie hToken einen Wert für die Ordner zuweisen, die mehrere Benutzer haben können, aber als zu einem einzelnen Benutzer gehören behandelt werden. Der am häufigsten verwendete Ordner dieses Typs ist "Eigene Dokumente".

[in] dwFlags

Art: DWORD

Gibt an, ob der zurückzugebende Pfad der tatsächliche Pfad des Ordners oder der Standardpfad ist. Dieser Wert wird in Fällen verwendet, in denen der einem CSIDL-Wert zugeordnete Ordner 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. Hierbei handelt es sich um eine NULL-endende Zeichenfolge mit der 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 sein, wenn kein Unterpfad angefügt werden soll.

[out] pszPath

Typ: LPTSTR

Wenn diese Funktion zurückgibt, zeigt dieser Wert auf den Verzeichnispfad und den angefügten Unterpfad. Hierbei handelt es sich um eine NULL-endende Zeichenfolge mit der Länge MAX_PATH. Diese Zeichenfolge ist leer, wenn die Funktion einen Fehlercode zurückgibt.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Hinweis

Der shlobj_core.h-Header definiert SHGetFolderPathAndSubDir als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlobj_core.h (einschließlich Shlobj.h, Shlobj_core.h)
Bibliothek Shell32.lib
DLL Shell32.dll (Version 5.60 oder höher)

Weitere Informationen

SHGetFolderPath