Função SHSetFolderPathA (shlobj_core.h)
Preterido. Atribui um novo caminho a uma pasta do sistema identificada por seu CSIDL.
Sintaxe
HRESULT SHSetFolderPathA(
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCSTR pszPath
);
Parâmetros
[in] csidl
Tipo: int
Um valor CSIDL que identifica a pasta cujo caminho deve ser definido. Somente pastas físicas são válidas. Se uma pasta virtual for especificada, essa função falhará.
Adicione o valor CSIDL_FLAG_DONT_UNEXPAND ao CSIDL para garantir que a cadeia de caracteres seja gravada no registro exatamente conforme fornecido. Se o sinalizador CSIDL_FLAG_DONT_UNEXPAND não estiver incluído, partes do caminho poderão ser substituídas por cadeias de caracteres de ambiente, como %USERPROFILE%.
[in] hToken
Tipo: HANDLE
Um token de acesso que pode ser usado para representar um usuário específico. Esse parâmetro geralmente é definido como NULL, caso em que a função tenta acessar a instância do usuário atual da pasta. No entanto, talvez seja necessário atribuir um valor a hToken para as pastas que podem ter vários usuários, mas são tratadas como pertencentes a um único usuário. A pasta mais usada desse tipo é Documentos.
O aplicativo de chamada é responsável pela representação correta quando hToken não é nulo. Ele deve ter privilégios de segurança apropriados para o usuário específico, incluindo TOKEN_QUERY e TOKEN_IMPERSONATE, e o hive do registro do usuário deve estar montado no momento. Confira Controle de Acesso para obter mais discussões sobre problemas de controle de acesso.
[in] dwFlags
Tipo: DWORD
Reservado. Deve ser definido como 0.
[in] pszPath
Tipo: LPCTSTR
Um ponteiro para uma cadeia de caracteres terminada em nulo de comprimento MAX_PATH que contém o novo caminho da pasta. Esse valor não pode ser NULL e a cadeia de caracteres não pode ter comprimento zero.
Retornar valor
Tipo: HRESULT
Retorna códigos HRESULT padrão, incluindo o seguinte:
Código de retorno | Descrição |
---|---|
|
O caminho da pasta foi atualizado com êxito. |
|
Várias condições de erro causam o retorno desse valor, incluindo o seguinte:
|
Comentários
É recomendável que os caminhos sejam expressos como cadeias de caracteres Unicode porque os nomes de pasta podem conter caracteres Unicode não expressíveis no ANSI.
Observação
O cabeçalho shlobj_core.h define SHSetFolderPath como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlobj_core.h (inclua Shlobj.h, Shlobj_core.h) |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 5.0 ou posterior) |