UrlFixupW 함수(shlwapi.h)
[UrlFixupW 는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]
프로토콜 식별자가 잘못된 URL을 수정하려고 시도합니다. 예를 들어 는 htttp
로 변경됩니다 http
.
구문
LWSTDAPI UrlFixupW(
[in] PCWSTR pcszUrl,
[out] PWSTR pszTranslatedUrl,
DWORD cchMax
);
매개 변수
[in] pcszUrl
형식: PCWSTR
수정할 URL을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 종결 NULL 문자를 포함하여 길이가 INTERNET_MAX_PATH_LENGTH 문자를 초과해서는 안됩니다.
[out] pszTranslatedUrl
형식: PWSTR
이 함수가 성공적으로 반환될 때 복사된 문자를 수신하는 버퍼에 대한 포인터입니다. 버퍼는 종료되는 NULL 문자를 포함하여 cchMax 매개 변수에 지정된 WCHAR 문자 수를 포함할 수 있을 만큼 커야 합니다. 이 매개 변수는 pcszUrl 매개 변수와 같아서 URL을 수정할 수 있습니다. pszTranslatedUrl이 pcszUrl과 같지 않으면 pszTranslatedUrl이 가리키는 버퍼가 pcszUrl이 가리키는 버퍼와 겹치지 않아야 합니다.
cchMax
형식:DWORD
pszTranslatedUrl이 가리키는 버퍼에 포함될 수 있는 WCHAR 문자 수입니다. 이 매개 변수는 0보다 커야 합니다.
반환 값
형식: HRESULT
제안된 URL이 이미 허용되었거나 성공적으로 수정된 경우 S_OK 반환합니다. pszTranslatedUrl 버퍼에는 수정된 URL 또는 수정이 필요하지 않은 경우 원래 URL이 포함됩니다. 제안된 URL을 충분히 인식하여 수정할 수 없는 경우 S_FALSE 반환합니다. 그렇지 않으면 표준 COM 오류 코드를 반환합니다.
설명
UrlFixup 함수는 URL_SCHEME 열거형에서 지정한 체계를 인식합니다.
프로토콜 식별자 섹션의 첫 번째 문자에 우선 순위가 지정되므로 htp
대신 ftp
로 변환 http
됩니다.
예제
이 예제에서는 UrlFixupW를 사용하는 방법을 보여 줍니다. 마지막 4개의 자동 고침은 사용자가 의도한 것이 아니었을 것이며 함수에서 사용하는 추론의 제한을 보여 줍니다.
#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
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
DLL | Shlwapi.dll(버전 5.0 이상) |