Compartilhar via


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 de 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 ponto pcchUnescaped é definido como o tamanho do buffer. Se a função retornar um código de êxito e o sinalizador de URL_UNESCAPE_INPLACE não estiver definido, o valor ao qual pcchUnescaped pontos será definido como o número de caracteres gravados nesse buffer, sem contar o caractere nulo NULL. Se um código de erro E_POINTER for retornado, o buffer será muito pequeno e o valor para o qual pontos de pcchUnescaped 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 pontos de pcchUnescaped será indefinido.

dwFlags

Tipo: DWORD

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

URL_DONT_UNESCAPE_EXTRA_INFO

Não converte o # ou? caractere ou quaisquer caracteres seguindo-os 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 de retorno

Tipo: HRESULT

Retorna S_OK se bem-sucedido. 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 de 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.

Observações

Uma sequência de escape tem o formulário "%xy".

As cadeias de caracteres de entrada não podem ser mais longas do que INTERNET_MAX_URL_LENGTH.

Nota

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. 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, Windows XP [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 shlwapi.h
biblioteca Shlwapi.lib
de DLL Shlwapi.dll (versão 5.0 ou posterior)