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 ヘッダーは、ParseURL をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
[DLL] | Shlwapi.dll (バージョン 6.0.1 以降) |