Share via


Funzione SHGetFolderPathAndSubDirA (shlobj_core.h)

Ottiene il percorso di una cartella e aggiunge un percorso della sottocartella fornito dall'utente.

Sintassi

HRESULT SHGetFolderPathAndSubDirA(
  [in]  HWND   hwnd,
  [in]  int    csidl,
  [in]  HANDLE hToken,
  [in]  DWORD  dwFlags,
  [in]  LPCSTR pszSubDir,
  [out] LPSTR  pszPath
);

Parametri

[in] hwnd

Tipo: HWND

Riservato.

[in] csidl

Tipo: int

Valore CSIDL che identifica la cartella il cui percorso deve essere recuperato. Solo le cartelle reali sono valide. Se viene specificata una cartella virtuale, questa funzione ha esito negativo. È possibile forzare la creazione di una cartella con SHGetFolderPathAndSubDir combinando il CSIDL della cartella con CSIDL_FLAG_CREATE.

[in] hToken

Tipo: HANDLE

Token di accesso che rappresenta un determinato utente. Per i sistemi precedenti a Windows 2000, impostare questo valore su NULL. Per i sistemi successivi, hToken è in genere, ma non sempre, impostato su NULL. Potrebbe essere necessario assegnare un valore a hToken per tali cartelle che possono avere più utenti, ma vengono considerati appartenenti a un singolo utente. La cartella più comunemente usata di questo tipo è Documenti personali.

[in] dwFlags

Tipo: DWORD

Specifica se il percorso da restituire è il percorso effettivo della cartella o il percorso predefinito. Questo valore viene usato nei casi in cui la cartella associata a un valore CSIDL può essere spostata o rinominata dall'utente.

SHGFP_TYPE_CURRENT

Restituire il percorso corrente della cartella.

SHGFP_TYPE_DEFAULT

Restituisce il percorso predefinito della cartella.

[in] pszSubDir

Tipo: LPCTSTR

Puntatore al sottopath da aggiungere al percorso della cartella. Si tratta di una stringa con terminazione null di lunghezza MAX_PATH. Se non si crea una nuova directory, questa deve essere una sottodirectory esistente o la funzione restituisce un errore. Questo valore può essere NULL se non è necessario aggiungere alcun sottopath.

[out] pszPath

Tipo: LPTSTR

Quando questa funzione restituisce, questo valore punta al percorso della directory e al sottopath aggiunto. Si tratta di una stringa con terminazione null di lunghezza MAX_PATH. Questa stringa è vuota quando la funzione restituisce un codice di errore.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Nota

L'intestazione shlobj_core.h definisce SHGetFolderPathAndSubDir come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h (includere Shlobj.h, Shlobj_core.h)
Libreria Shell32.lib
DLL Shell32.dll (versione 5.60 o successiva)

Vedi anche

Shgetfolderpath