Funzione SHGetFolderPathEx

Descrizione

[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.

Recupera il percorso completo di una cartella nota identificata dalla cartella KNOWNFOLDERID della cartella. Questo estende SHGetKnownFolderPath consentendo di impostare le dimensioni iniziali del buffer di stringa.

HRESULT WINAPI SHGetFolderPathEx(
  _In_     REFKNOWNFOLDERID rfid,
  _In_     DWORD            dwFlags,
  _In_opt_ HANDLE           hToken,
  _Out_    LPWSTR           pszPath,
  _In_     UINT             cchPath
);

Parametri

rfid [in]

Riferimento a KNOWNFOLDERID che identifica la cartella.

dwFlags [in]

Flag che specificano opzioni di recupero speciali. Questo valore può essere 0; in caso contrario, uno o più valori KNOWN_FOLDER_FLAG .

hToken [in, facoltativo]

Token di accesso che rappresenta un determinato utente. Se questo parametro è NULL, ovvero l'utilizzo più comune, la funzione richiede la cartella nota per l'utente corrente.

Richiedere la cartella di un utente specifico passando l'hToken di tale utente. Questa operazione viene in genere eseguita nel contesto di un servizio con privilegi sufficienti per recuperare il token di un determinato utente. Tale token deve essere aperto con diritti di TOKEN_QUERY e TOKEN_IMPERSONATE . In alcuni casi, è necessario includere anche TOKEN_DUPLICATE. Oltre a passare l'hToken dell'utente, è necessario montare l'hive del Registro di sistema di tale utente specifico. Per altre informazioni sui problemi di controllo di accesso, vedere Controllo di accesso.

Se si assegna il parametro hToken , il valore -1 indica l'utente predefinito. Ciò consente ai client di SHGetKnownFolderPath di trovare i percorsi delle cartelle (ad esempio la cartella Desktop ) per l'utente predefinito. Il profilo utente predefinito viene duplicato quando viene creato un nuovo account utente e include cartelle speciali come Documenti e Desktop. Tutti gli elementi aggiunti alla cartella Utente predefinito vengono visualizzati anche in qualsiasi nuovo account utente. Si noti che l'accesso alle cartelle Utente predefinite richiede privilegi di amministratore.

pszPath [out]

Stringa Unicode con terminazione Null. Questo buffer deve essere di dimensioni cchPath. Quando SHGetFolderPathEx viene restituito correttamente, questo parametro contiene il percorso della cartella nota.

cchPath [in]

Dimensioni del buffer ppszPath , in caratteri.

Restituisce

Restituisce S_OK in caso di esito positivo o un valore di errore in caso contrario.

Commenti

Poiché SHGetFolderPath è un wrapper per SHGetKnownFolderPath, questa funzione (SHGetFolderPathEx) funge anche da estensione per SHGetFolderPath.

Vedi anche

KNOWNFOLDERID

KNOWN_FOLDER_FLAG

Shgetfolderpath

SHGetKnownFolderIDList

SHGetKnownFolderPath