CM_Modify_Res_Des 函数 (cfgmgr32.h)

CM_Modify_Res_Des 函数修改本地计算机上的指定资源描述符。

语法

CMAPI CONFIGRET CM_Modify_Res_Des(
  [out] PRES_DES   prdResDes,
  [in]  RES_DES    rdResDes,
  [in]  RESOURCEID ResourceID,
  [in]  PCVOID     ResourceData,
  [in]  ULONG      ResourceLen,
  [in]  ULONG      ulFlags
);

参数

[out] prdResDes

指向位置的指针,用于接收已修改的资源描述符的句柄。

[in] rdResDes

要修改的资源描述符的调用方提供的句柄。 以前必须通过调用以下函数之一来获取此句柄:

CM_Add_Res_Des

CM_Add_Res_Des_Ex

CM_Get_Next_Res_Des

CM_Get_Next_Res_Des_Ex

CM_Modify_Res_Des

CM_Modify_Res_Des_Ex

[in] ResourceID

调用方提供的资源类型标识符。 这必须是 Cfgmgr32.h 中定义的ResType_前缀常量之一。

[in] ResourceData

调用方提供的指向资源描述符的指针,可以是 CM_Add_Res_Des 函数 对 ResourceData 的说明下列出的结构之一。

[in] ResourceLen

ResourceData 指向的结构的调用方提供的长度。

[in] ulFlags

未使用,必须为零。

返回值

如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。

注意 从 Windows 8 开始, CM_Modify_Res_Des 在 Wow64 方案中使用时返回CR_CALL_NOT_IMPLEMENTED。 若要请求有关本地计算机上的硬件资源的信息,必须使用硬件资源 API 实现应用程序的体系结构本机版本。 例如:AMD64 系统的 AMD64 应用程序。
 

备注

调用方提供的资源描述符数据将替换现有数据。 为 ResourceIDResourceLen 指定的值不必与现有资源描述符匹配。

如果为 ResourceID 指定的值 ResType_ClassSpecific,则指定的资源描述符必须是与逻辑配置关联的最后一个描述符。

CM_Modify_Res_Des的调用方必须在不再需要资源描述符句柄后调用CM_Free_Res_Des_Handle解除分配。

此函数的调用方必须具有 SeLoadDriverPrivilege。 Microsoft Windows SDK 文档中介绍了 (特权。)

要求

   
最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 桌面
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib
DLL Cfgmgr32.dll

另请参阅

CM_Modify_Res_Des_Ex