parseURLW 函式 (shlwapi.h)
執行 URL 的一元剖析。
語法
LWSTDAPI ParseURLW(
[in] LPCWSTR pcszURL,
[in, out] PARSEDURLW *ppu
);
參數
[in] pcszURL
類型: LPCTSTR
Null 終止字串的指標,其中包含要剖析的 URL。
[in, out] ppu
類型: PARSEDURL*
PARSEDURL結構的指標,可接收剖析的結果。 呼叫應用程式必須在呼叫ParseURL之前,將結構的cbSize成員設定為 結構的大小。
傳回值
類型: HRESULT
傳回 成功時S_OK ,否則傳回 COM 錯誤碼。 如果字串無法剖析為 URL,此函式會傳回 intshcut.h) 中定義的URL_E_INVALID_SYNTAX (。
備註
ParseURL所執行的剖析相當不相等。 如需更複雜的 URL 剖析,請使用 InternetC,Url。
範例
此範例主控台應用程式會使用 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 版或更新版本) |