Compartilhar via


Função SHPathPrepareForWriteW (shlobj_core.h)

Verifica se o caminho existe. Isso inclui a remontagem de unidades de rede mapeadas, solicitando que a mídia ejetável seja reinserida, criando os caminhos, solicitando que a mídia seja formatada e fornecendo as interfaces de usuário apropriadas, se necessário. As permissões de leitura/gravação para o meio não são verificadas.

Sintaxe

SHSTDAPI SHPathPrepareForWriteW(
  [in, optional] HWND     hwnd,
  [in, optional] IUnknown *punkEnableModless,
  [in]           LPCWSTR  pszPath,
                 DWORD    dwFlags
);

Parâmetros

[in, optional] hwnd

Tipo: HWND

Um identificador para uma janela que especifica a janela pai a ser usada para qualquer janela de interface do usuário que deve ser criada. Se definido como NULL, as janelas de interface do usuário não serão criadas.

[in, optional] punkEnableModless

Tipo: * IUnknown

Um ponteiro para uma interface IUnknown que especifica o objeto IOleInPlaceActiveObject que implementa o método EnableModeless .

[in] pszPath

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo de comprimento máximo MAX_PATH que especifica o caminho a ser verificado como válido para gravação. Pode ser um caminho UNC ou de unidade de arquivo.

dwFlags

Tipo: DWORD

Sinalizadores que determinam opções de comportamento. Esse parâmetro pode ser uma combinação dos valores a seguir.

SHPPFW_NONE

Não crie novos diretórios.

SHPPFW_DEFAULT

Inadimplência. Não solicite ao usuário se um diretório precisa ser criado. Isso é idêntico ao SHPPFW_DIRCREATE. Não passe com SHPPFW_ASKDIRCREATE.

SHPPFW_DIRCREATE

Crie diretórios sem solicitar ao usuário. Não passe com SHPPFW_ASKDIRCREATE.

SHPPFW_ASKDIRCREATE

Solicite ao usuário antes de criar diretórios. Não passe com SHPPFW_DIRCREATE.

SHPPFW_IGNOREFILENAME

O último item em pszPath é um nome de arquivo, portanto, ignore. Por exemplo, se pszPath="C:\MyDir\MyFile.doc", use apenas "C:\MyDir". Se pszPath="C:\MyFirDir\MySecDir", use apenas "C:\MyFirDir".

SHPPFW_NOWRITECHECK

Não implementado no momento.

SHPPFW_MEDIACHECKONLY

Windows XP ou posterior. Suprime a caixa de mensagem de erro "não acessível", que é exibida quando ocorre uma falha diferente de um cancelamento de usuário e não é NULL.

Valor de retorno

Tipo: HRESULT

Retorna S_OK se o caminho estiver disponível ou um código de erro de outra forma. Observe que um valor retornado de S_OK não significa que o meio é gravável; isso simplesmente significa que o caminho está disponível.

Observações

O uso principal dessa função é que um programa verifique um caminho antes de usá-lo e exiba a interface do usuário necessária para solicitar ao usuário. Por exemplo, se o disco na unidade A: estiver ausente, uma janela que solicitará que o usuário insira o disco será exibida.

Nota

O cabeçalho shlobj_core.h define SHPathPrepareForWrite como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shlobj_core.h (inclua Shlobj.h, Shlobj_core.h)
biblioteca Shell32.lib
de DLL Shell32.dll (versão 5.0 ou posterior)