Função UrlUnescapeA (shlwapi.h)

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

Sintaxe

LWSTDAPI UrlUnescapeA(
  [in, out]           PSTR  pszUrl,
  [out, optional]     PSTR  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 estiver 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 os pontos pcchUnescaped serão definidos 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 os pontos pcchUnescaped serão indefinidos.

dwFlags

Tipo: DWORD

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

URL_DONT_UNESCAPE_EXTRA_INFO

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

URL_UNESCAPE_AS_UTF8

Introduzido em 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.

Retornar valor

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, retorna 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 tempo do que 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

Requisito Valor
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)