urlApplySchemeA 函数 (shlwapi.h)

确定指定 URL 字符串的方案,并返回具有相应前缀的字符串。

语法

LWSTDAPI UrlApplySchemeA(
  [in]      PCSTR pszIn,
  [out]     PSTR  pszOut,
  [in, out] DWORD *pcchOut,
            DWORD dwFlags
);

参数

[in] pszIn

类型: PCTSTR

包含 URL 的最大长度INTERNET_MAX_URL_LENGTH以 null 结尾的字符串。

[out] pszOut

类型: PTSTR

指向缓冲区的指针,当此函数成功返回时,该缓冲区接收一个以 null 结尾的字符串,该字符串设置为 pszIn 指定的 URL,并转换为标准 scheme://URL_string 格式。

[in, out] pcchOut

类型: DWORD*

设置为 pszOut 缓冲区中字符数的值的地址。 当函数返回时,该值取决于函数是成功还是返回E_POINTER。 对于其他返回值,此参数的值毫无意义。

dwFlags

类型:DWORD

指定如何确定方案的标志。 可以组合以下标志。

URL_APPLY_DEFAULT

如果 UrlApplyScheme 无法确定默认方案,则应用默认方案。 默认前缀存储在注册表中,但通常为“http”。

URL_APPLY_GUESSSCHEME

尝试通过检查 pszIn 来确定方案。

URL_APPLY_GUESSFILE

尝试从 pszIn 确定文件 URL。

URL_APPLY_FORCEAPPLY

强制 UrlApplyScheme 确定 pszIn 的方案。

返回值

类型: HRESULT

返回标准 COM 返回值,包括以下内容。

返回代码 说明
S_OK
确定了一个方案。 pszOut 指向包含具有方案前缀的 URL 的字符串。 pcchOut 的值设置为字符串中的字符数,不计算终止 NULL 字符。
S_FALSE
没有错误,但前面没有添加前缀。
E_POINTER
缓冲区太小。 pcchOut 的值设置为缓冲区必须能够包含的最小字符数,包括终止 NULL 字符。

注解

如果 URL 具有有效的方案,则不会修改字符串。 但是,几乎两个或多个字符后跟冒号的任意组合都将解析为方案。 有效字符包括一些常见的标点符号,例如“.”。 如果输入字符串符合此说明, 则 UrlApplyScheme 可能会将其视为有效且不应用方案。 若要强制函数将方案应用于 URL,请在 dwFlags 中设置URL_APPLY_FORCEAPPLYURL_APPLY_DEFAULT标志。 标志的这种组合强制函数将方案应用于 URL。 通常, 函数将无法确定有效的方案。 第二个标志保证,如果无法确定有效方案,函数会将默认方案应用于 URL。

注意

shlwapi.h 标头将 UrlApplyScheme 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (5.0 或更高版本)