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