共用方式為


InternetCrackUrlA 函式 (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 字串的大小,TCHARs,如果 lpszUrl 為 ASCIIZ 字串串,則為零。

[in] dwFlags

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

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

[in, out] lpUrlComponents

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

傳回值

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

言論

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

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

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

附注 請勿在包含空格的 “file://” URL 上使用 InternetCrackUrl,因為 dwUrlPathLength 中所傳回的值URL_COMPONENTS 結構 lpUrlComponents 所指向的成員太大。 不過,只有包含空格字元的「file://」URL 才如此。

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

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

注意

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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wininet.h
連結庫 Wininet.lib
DLL Wininet.dll

另請參閱

FtpOpenFile

處理統一資源定位器

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

WinINet 函式