ISCPSecureQuery::GetRights 方法 (mswmdm.h)

GetRights 方法检索当前内容的权限信息。 权限特定于文件。

语法

HRESULT GetRights(
  [in]      BYTE                *pData,
  [in]      DWORD               dwSize,
  [in]      BYTE                *pbSPSessionKey,
  [in]      DWORD               dwSessionKeyLen,
  [in]      IMDSPStorageGlobals *pStgGlobals,
  [out]     PWMDMRIGHTS         *ppRights,
  [out]     UINT                *pnRightsCount,
  [in, out] BYTE [8]            abMac
);

参数

[in] pData

指向 GetDataDemands 请求的数据的指针。 此参数必须包含在输入消息身份验证代码中,并且必须加密。

[in] dwSize

pData 缓冲区中的数据字节数。 此参数必须包含在输入消息身份验证代码中。

[in] pbSPSessionKey

指向字节数组的指针,其中包含会话密钥,用于保护与 pStgGlobals 指向的服务提供程序的通信。 此参数必须包含在输入消息身份验证代码中,并且必须加密。

[in] dwSessionKeyLen

pbSPSessionKey 指向的字节数组的长度。 此参数必须包含在输入消息身份验证代码中。

[in] pStgGlobals

指向要传输文件的媒体或设备的根存储上的 IWMDMStorageGlobals 接口的指针。

[out] ppRights

指向 WMDMRIGHTS 结构数组的指针,该结构包含此对象的权限信息。 数组由此方法分配,必须使用 CoTaskMemFree 释放。 此参数包含在输出消息身份验证代码中。

[out] pnRightsCount

ppRights 数组中的 WMDMRIGHTS 结构数。 此参数包含在输出消息身份验证代码中。

[in, out] abMac

包含此方法参数数据的消息身份验证代码的八个字节的数组。 (WMDM_MAC_LENGTH 定义为 8.)

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,则返回 HRESULT 错误代码。

返回代码 说明
WMDM_E_CALL_OUT_OF_SEQUENCE
此方法已按顺序调用。 首先必须按该顺序调用 GetDataDemandsExamineData
WMDM_E_MAC_CHECK_FAILED
消息身份验证代码无效。
WMDM_E_NORIGHTS
调用方没有执行所请求操作所需的权限。
E_INVALIDARG
参数无效或为 NULL 指针。
E_FAIL
发生了未指定的错误。

注解

GetDataDemands 和以该顺序调用 了 ExamineData 之前,不得调用此方法。

要求

要求
目标平台 Windows
标头 mswmdm.h
Library Mssachlp.lib

另请参阅

ISCPSecureQuery 接口

IWMDMStorageGlobals 接口

WMDMRIGHTS