다음을 통해 공유


ParseURLW 함수(shlwapi.h)

URL의 기본적인 구문 분석을 수행합니다.

구문

LWSTDAPI ParseURLW(
  [in]      LPCWSTR    pcszURL,
  [in, out] PARSEDURLW *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;
}   

출력:

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