共用方式為


InternetCflineUrlA 函式 (wininet.h)

將 URL 破解成其元件元件。

語法

BOOL InternetCrackUrlA(
  [in]      LPCSTR            lpszUrl,
  [in]      DWORD             dwUrlLength,
  [in]      DWORD             dwFlags,
  [in, out] LPURL_COMPONENTSA lpUrlComponents
);

參數

[in] lpszUrl

字串的指標,其中包含要破解的正式URL。

[in] dwUrlLength

lpszUrl 字串的大小,以 TCHAR 為單位,如果 lpszUrl 是 ASCIIZ 字串,則為零。

[in] dwFlags

控制作業。 此參數可以是下列其中一個值。

意義
ICU_DECODE
將編碼的字元轉換回其一般格式。 只有當使用者提供 URL_COMPONENTS 結構中的緩衝區,才能將元件複製到該結構中。
ICU_ESCAPE
將所有逸出序列 (%xx) 轉換為其對應的字元。 只有當使用者提供 URL_COMPONENTS 結構中的緩衝區,才能將元件複製到該結構中。

[in, out] lpUrlComponents

接收 URL 元件的 URL_COMPONENTS 結構的指標。

傳回值

如果函式成功,則傳回 TRUE ,否則傳回 FALSE 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

必要的元件是由 URL_COMPONENTS 結構的成員表示。 每個元件都有值的指標,而且有一個成員可儲存預存值的長度。 如果元件的值和長度都等於零,則不會傳回該元件。 Windows Vista 和更新版本。: 如果元件的值指標是 NULL ,而且其對應長度成員的值不是零, 則 lpszUrl 字串中對應元件之第一個字元的位址會儲存在指標中,而元件的長度會儲存在長度成員中。

如果指標包含使用者提供的緩衝區位址,則長度成員必須包含緩衝區的大小。 InternetC,Url 會將元件複製到緩衝區,而長度成員會設定為所複製元件的長度,而尾端字串終止符的長度減 1。

若要讓 InternetCrackUrl 正常運作, URL_COMPONENTS結構的大小 ,以位元組為單位,必須儲存在 dwStructSize 成員中。

注意請勿在包含空格的 「file://」 URL 上使用 InternetC file:// Url,因為 lpUrlComponents 所指向之URL_COMPONENTS結構中傳回的值太大。 不過,只有包含空格符的 「file://」 URL 才有這種情況。

就像 WinINet API 所有其他層面一樣,您無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,不應該從服務使用它。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP Services (WinHTTP)
 

注意

wininet.h 標頭會將 InternetCflineUrl 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 wininet.h
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

FtpOpenFile

處理統一資源定位器

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

WinINet 函式