Função UrlUnescapeW (shlwapi.h)

Converte sequências de escape de volta em caracteres comuns.

Sintaxe

LWSTDAPI UrlUnescapeW(
  [in, out]           PWSTR pszUrl,
  [out, optional]     PWSTR pszUnescaped,
  [in, out, optional] DWORD *pcchUnescaped,
                      DWORD dwFlags
);

Parâmetros

[in, out] pszUrl

Tipo: PTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo com a URL. Se dwFlags for definido como URL_UNESCAPE_INPLACE, a cadeia de caracteres convertida será retornada por meio desse parâmetro.

[out, optional] pszUnescaped

Tipo: PTSTR

Um ponteiro para um buffer que receberá uma cadeia de caracteres terminada em nulo que contém a versão sem escape do pszURL. Se URL_UNESCAPE_INPLACE for definido em dwFlags, esse parâmetro será ignorado.

[in, out, optional] pcchUnescaped

Tipo: DWORD*

O número de caracteres no buffer apontado por pszUnescaped. Na entrada, o valor pcchUnescaped aponta para é definido como o tamanho do buffer. Se a função retornar um código de êxito e o sinalizador URL_UNESCAPE_INPLACE não estiver definido, o valor para o qual pcchUnescaped aponta será definido como o número de caracteres gravados nesse buffer, sem contar o caractere NULL de terminação. Se um código de erro E_POINTER for retornado, o buffer será muito pequeno e o valor para o qual pcchUnescaped pontos será definido como o número necessário de caracteres que o buffer deve ser capaz de conter. Se outros erros forem retornados, o valor para o qual pcchUnescaped pontos será indefinido.

dwFlags

Tipo: DWORD

Sinalizadores que controlam quais caracteres estão sem escape. Pode ser uma combinação dos sinalizadores a seguir.

URL_DONT_UNESCAPE_EXTRA_INFO

Não converter o # ou ? caractere ou quaisquer caracteres que os seguem na cadeia de caracteres.

URL_UNESCAPE_AS_UTF8

Introduzido no Windows 8. Decodificar URLs que foram codificadas usando o sinalizador URL_ESCAPE_AS_UTF8 .

URL_UNESCAPE_INPLACE

Use pszURL para retornar a cadeia de caracteres convertida em vez de pszUnescaped.

Valor retornado

Tipo: HRESULT

Retorna S_OK se tiver êxito. Se o sinalizador URL_UNESCAPE_INPLACE não estiver definido, o valor apontado por pcchUnescaped será definido como o número de caracteres no buffer de saída apontado por pszUnescaped. Retorna E_POINTER se o sinalizador URL_UNESCAPE_INPLACE não estiver definido e o buffer de saída for muito pequeno. O parâmetro pcchUnescaped será definido como o tamanho do buffer necessário. Caso contrário, retornará um valor de erro padrão.

Comentários

Uma sequência de escape tem o formato "%xy".

As cadeias de caracteres de entrada não podem ter mais de INTERNET_MAX_URL_LENGTH.

Observação

O cabeçalho shlwapi.h define UrlUnescape 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

   
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 5.0 ou posterior)