ParseURLA 함수(shlwapi.h)
URL의 기본적인 구문 분석을 수행합니다.
구문
LWSTDAPI ParseURLA(
[in] LPCSTR pcszURL,
[in, out] PARSEDURLA *ppu
);
매개 변수
[in] pcszURL
형식: LPCTSTR
구문 분석할 URL을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.
[in, out] ppu
형식: PARSEDURL*
구문 분석된 결과를 수신하는 PARSEDURL 구조체에 대한 포인터입니다. 호출 애플리케이션은 ParseURL을 호출하기 전에 구조체의 cbSize 멤버를 구조체의 크기로 설정해야 합니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환하고, 그렇지 않으면 COM 오류 코드를 반환합니다. 문자열을 URL로 구문 분석할 수 없는 경우 함수는 URL_E_INVALID_SYNTAX (Intshcut.h에 정의됨)를 반환합니다.
설명
ParseURL에서 수행하는 구문 분석은 상당히 초보적입니다. 보다 정교한 URL 구문 분석을 위해 InternetCrackUrl을 사용합니다.
예제
이 샘플 콘솔 애플리케이션은 ParseURL 을 사용하여 몇 가지 간단한 URL을 구문 분석합니다.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCTSTR pcszUrl)
{
PARSEDURL pu;
pu.cbSize = sizeof(pu);
HRESULT hr = ParseURL(pcszUrl, &pu);
_tprintf(TEXT("ParseURL(%s) returned 0x%08x\n"), pcszUrl, hr);
if (SUCCEEDED(hr)) {
_tprintf(TEXT("Protocol = %.*s\n"), pu.cchProtocol, pu.pszProtocol);
_tprintf(TEXT("Suffix = %.*s\n"), pu.cchSuffix, pu.pszSuffix);
_tprintf(TEXT("Scheme = %d\n"), pu.nScheme);
_tprintf(TEXT("\n"));
}
}
int __cdecl main()
{
sample(TEXT("http://msdn.microsoft.com/vstudio/"));
sample(TEXT("mailto:someone@example.com"));
sample(TEXT("file://C:\\AUTOEXEC.BAT"));
sample(TEXT("C:\\AUTOEXEC.BAT"));
return 0;
}
OUTPUT:
---------
ParseURL(http://msdn.microsoft.com/vstudio/) returned 0x00000000
Protocol = http
Suffix = //msdn.microsoft.com/vstudio/
Scheme = 2
ParseURL(mailto:someone@example.com) returned 0x00000000
Protocol = mailto
Suffix = someone@example.com
Scheme = 4
ParseURL(file://C:\AUTOEXEC.BAT) returned 0x00000000
Protocol = file
Suffix = C:\AUTOEXEC.BAT
Scheme = 9
ParseURL(C:\AUTOEXEC.BAT) returned 0x80041001
참고
shlwapi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 ParseURL을 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
DLL | Shlwapi.dll(버전 6.0.1 이상) |