Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[UrlFixupW está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]
Tenta corrigir uma URL cujo identificador de protocolo está incorreto. Por exemplo, htttp será alterado para http.
Sintaxe
LWSTDAPI UrlFixupW(
[in] PCWSTR pcszUrl,
[out] PWSTR pszTranslatedUrl,
DWORD cchMax
);
Parâmetros
[in] pcszUrl
Tipo: PCWSTR
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém a URL a ser corrigida. Essa cadeia de caracteres não deve exceder INTERNET_MAX_PATH_LENGTH caracteres de comprimento, incluindo o caractere NULL de terminação.
[out] pszTranslatedUrl
Tipo: PWSTR
Um ponteiro para um buffer que, quando essa função retorna com êxito, recebe os caracteres copiados. O buffer deve ser grande o suficiente para conter o número de caracteres WCHAR especificados pelo parâmetro cchMax , incluindo o caractere NULL de terminação. Esse parâmetro pode ser igual ao parâmetro pcszUrl para corrigir uma URL em vigor. Se pszTranslatedUrl não for igual a pcszUrl, o buffer apontado por pszTranslatedUrl não deverá sobrepor o buffer apontado pelo pcszUrl.
cchMax
Tipo: DWORD
O número de caracteres WCHAR que podem ser contidos no buffer apontado por pszTranslatedUrl. Esse parâmetro deve ser maior que zero.
Valor de retorno
Tipo: HRESULT
Retorna S_OK se a URL proposta já era aceitável ou foi corrigida com êxito. O buffer pszTranslatedUrl contém a URL corrigida ou a URL original se nenhuma correção for necessária. Retorna S_FALSE se a URL proposta não puder ser reconhecida o suficiente para ser corrigida. Caso contrário, retorna um código de erro COM padrão.
Observações
A função UrlFixup reconhece os esquemas especificados pela enumeração URL_SCHEME .
A prioridade é dada ao primeiro caractere na seção do identificador de protocolo, portanto htp , será convertida http em vez de ftp.
Exemplos
Este exemplo mostra como usar UrlFixupW. Observe que as últimas quatro autocorreções provavelmente não eram o que o usuário pretendia e demonstram limitações da heurística usada pela função.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCWSTR pszUrl)
{
WCHAR szBuf[256];
HRESULT hr = UrlFixupW(pszUrl, szBuf, 256);
if (hr == S_OK)
{
wprintf(L"%-35s %s\n", pszUrl, szBuf);
}
else
{
wprintf(L"%-35s failed\n", pszUrl);
}
}
int __cdecl main()
{
sample(L"http://www.microsoft.com");
sample(L"mail:someone@example.com");
sample(L"abc:def");
sample(L"someone@example.com");
sample(L"htpp:wwwmicrosoft.com");
sample(L"htps:\\\\www.microsoft.com");
sample(L"http:someone@example.com");
return 0;
}
..................................
This example might produce the following output:
http://www.microsoft.com http://www.microsoft.com
http:www.microsoft.com http://www.microsoft.com
mail:someone@example.com mailto:someone@example.com
abc:def failed
someone@example.com failed
htpp:wwwmicrosoft.com http://wwwmicrosoft.com
htps:\\www.microsoft.com http://www.microsoft.com
http:someone@example.com http://someone@example.com
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows XP [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2003 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| Header | shlwapi.h |
| Library | mincore_downlevel.lib |
| de DLL |
Shlwapi.dll (versão 5.0 ou posterior) |