[利用由 公开的功能的 AD RMS SDK
Msdrm.dll 中的客户端可用于 Windows Server 2008、Windows Vista、Windows Server 2008 R2、Windows 7、Windows Server 2012 和 Windows 8。 它可能被更改,或者
在后续版本中不可用。 请改用 Active Directory Rights Management Services SDK 2.1,
利用客户端在 Msipc.dll.] 中公开的功能。
[ DRMGetEnvironmentInfo 函数不再受支持,返回S_OK。 请改用 DRMGetInfo 函数。]
DRMGetEnvironmentInfo 函数返回有关安全环境的信息。
语法
DRMEXPORT HRESULT UDAPICALL DRMGetEnvironmentInfo(
[in] DRMENVHANDLE handle,
[in] PWSTR wszAttribute,
[out] DRMENCODINGTYPE *peEncoding,
[in, out] UINT *pcBuffer,
[out] BYTE *pbBuffer
);
parameters
[in] handle
环境句柄。
[in] wszAttribute
要查询的属性。 在 Rights Management Services 客户端 1.0 SP1 中,唯一支持的属性是 g_wszQUERY_BLOCKSIZE。 在 Rights Management Services 客户端 1.0 中,可以查询的属性列在头文件 Msdrmgetinfo.h 中。 属性包括 g_wszQUERY_MANIFESTSOURCE 和 g_wszQUERY_APIVERSION。
[out] peEncoding
使用的编码类型。
[in, out] pcBuffer
指向 UINT 值的指针,该值在输入时包含 pbBuffer 参数指向的缓冲区的大小。 缓冲区的大小表示为 Unicode 字符数,包括终止 null 字符。 输出时, 值包含复制到缓冲区的字符数。 复制的数字包括终止 null 字符。
[out] pbBuffer
指向以 null 结尾的 Unicode 字符串的指针,该字符串接收与 wszAttribute 参数指定的特性关联的值。 此缓冲区的大小由 pcBuffer 参数指定。 大小表示为 Unicode 字符数,包括终止 null 字符。
返回值
如果函数成功,该函数将返回S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
注解
此函数仅返回有关环境句柄的信息。 有关其他句柄的信息,请参阅 DRMGetInfo。
内存分配和解除分配由调用方处理。若要创建缓冲区并检索环境信息,请执行以下步骤:
- 调用 PBBuffer 等于 NULL 的 DRMGetEnvironmentInfo。 函数在 pcBuffer 参数中返回所需的 Unicode 字符数,包括终止 NULL 字符。
- 为缓冲区分配内存。 请记住,Unicode 字符的长度为两个字节。
- 再次调用 DRMGetEnvironmentInfo ,其 pbBuffer 等于分配缓冲区时创建的指针。
- 使用完内存后,请释放它。
在 Rights Management Services 客户端 1.0 SP1 中,唯一支持的属性是 g_wszQUERY_BLOCKSIZE。 有关可在 Rights Management Services 客户端 1.0 中查询的属性,请参阅随此 SDK 一起安装的 Msdrmgetinfo.h 头文件。
要求
| 目标平台 | Windows |
| 标头 | msdrm.h |
| Library | Msdrm.lib |
| DLL | Msdrm.dll |