Condividi tramite


Funzione SHGetFolderPathAndSubDirA (shlobj_core.h)

Ottiene il percorso di una cartella e aggiunge un percorso di 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. Sono valide solo le cartelle reali. Se si specifica 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 utente specifico. 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 le cartelle che possono avere più utenti, ma vengono considerate appartenenti a un singolo utente. La cartella più comune 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 spostato o rinominato dall'utente.

SHGFP_TYPE_CURRENT

Restituisce il percorso corrente della cartella.

SHGFP_TYPE_DEFAULT

Restituisce il percorso predefinito della cartella.

[in] pszSubDir

Tipo: LPCTSTR

Puntatore al sottopercorso da aggiungere al percorso della cartella. Si tratta di un nullstringa con terminazione 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 deve essere aggiunto alcun sottopercorso.

[out] pszPath

Tipo: LPTSTR

Quando questa funzione viene restituita, questo valore punta al percorso della directory e al sottopercorso aggiunto. Si tratta di un nullstringa con terminazione 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.

Osservazioni

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlobj_core.h (includere Shlobj.h, Shlobj_core.h)
libreria Shell32.lib
dll Shell32.dll (versione 5.60 o successiva)

Vedere anche

SHGetFolderPath