WSDUriEncode 函数 (wsdutil.h)

根据 RFC2396 中的 URI 编码规则对 URI 进行编码。

语法

HRESULT WSDUriEncode(
  [in]            LPCWSTR source,
  [in]            DWORD   cchSource,
  [out]           LPWSTR  *destOut,
  [out, optional] DWORD   *cchDestOut
);

参数

[in] source

包含要编码的 URI。

[in] cchSource

指定 的长度(以字符为单位)。

[out] destOut

指向包含编码 URI 的字符串的指针。 如果 destOut 不为 NULL,则调用应用程序应通过调用 WSDFreeLinkedMemory 释放分配的字符串。

[out, optional] cchDestOut

指定 destOut 的长度(以字符为单位)。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
函数已成功完成。
E_INVALIDARG
sourceNULLcchSource 为 0。
E_FAIL
的字符长度超过 WSD_MAX_TEXT_LENGTH ( 8192) 。
E_POINTER
destOutNULL

注解

WSDUriEncode 中的某些字符编码为 %XY 的转义编码格式,其中 X 和 Y 是对应于该字符的单字节表示形式的十六进制数字。 占用多个字节的宽字符首先呈现为 UTF-8 多字节格式,然后转义为编码字符。

WSDUriEncode 不对单字节字母数字字符进行编码。 它在 中对百分号 (%) 进行编码。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 wsdutil.h (包括 Wsdapi.h)
Library Wsdapi.lib
DLL Wsdapi.dll