[从 Windows 7 和 Windows Server 2008 R2 起,可移动存储管理器 不再可用。]
SetNtmsObjectInformation 函数更改指定对象的信息结构。
语法
DWORD SetNtmsObjectInformationW(
  [in] HANDLE                    hSession,
  [in] LPNTMS_GUID               lpObjectId,
  [in] LPNTMS_OBJECTINFORMATIONW lpInfo
);
参数
[in] hSession
OpenNtmsSession 函数返回的会话的句柄。
[in] lpObjectId
RSM 对象的唯一标识符。
[in] lpInfo
指向 NTMS_OBJECTINFORMATION 结构的指针。
返回值
此函数返回以下值之一。
| 值 | 含义 | 
|---|---|
  | 
NTMS_MODIFY_ACCESS或NTMS_CONTROL_ACCESS被拒绝写入对象,或者不允许对指定的对象类型进行任何修改。 请参阅“备注”。 | 
  | 
函数成功。 | 
  | 
数据库不可访问或已损坏。 | 
  | 
数据库已满。 | 
  | 
会话句柄缺失或无效。 | 
  | 
缺少对象 ID 或信息结构,或者对象信息大小或对象类型无效。 | 
  | 
处理期间发生分配失败。 | 
  | 
对象 ID 无效。 | 
注解
必须先设置信息大小和类型,然后才能使用 SetNtmsObjectInformation。
对象的所有可写属性都从 NTMS_OBJECTINFORMATION 结构中读取并写入数据库,而不考虑此应用程序调用 GetNtmsObjectInformation 函数和 SetNtmsObjectInformation 函数之间发生的任何写入操作。 因此,可能会丢失更改。
为了避免不可预测的结果,应用程序必须在调用 SetNtmsObjectInformation 之前调用 GetNtmsObjectInformation。 如上所述, SetNtmsObjectInformation 更新所有可写成员,因此应用程序负责为所有可写成员提供值。
下面是具有可更新成员的对象列表。
| Object | 成员 | 
|---|---|
| NTMS_CHANGER | 
              szDescription 需要NTMS_MODIFY_ACCESS库。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_CHANGER_TYPE | 
              szDescription 需要NTMS_MODIFY_ACCESS到计算机。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_COMPUTER | 
              dwMediaPoolPolicy Windowsxp: 无需任何访问权限。  | 
| NTMS_DRIVE | 
              dwDeferDismountDelay Windowsxp: 无需任何访问权限。  | 
| NTMS_DRIVE_TYPE | 
              szDescription 需要NTMS_MODIFY_ACCESS到计算机。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_IEDOOR | 
              MaxOpenSecs Windowsxp: 无需任何访问权限。  | 
| NTMS_IEPORT | 
              MaxExtendSecs Windowsxp: 无需任何访问权限。  | 
| NTMS_LIBRARY | 
              自动恢复 | 
| NTMS_LIBREQUEST | 
              szDescription 需要NTMS_MODIFY_ACCESS库。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_LOGICAL_MEDIA | 
              szDescription Windowsxp: 无需任何访问权限。  | 
| NTMS_MEDIA_POOL | 
              AllocationPolicy Windowsxp: 需要NTMS_CONTROL_ACCESS媒体池。  | 
| NTMS_MEDIA_TYPE | 
              szDescription 需要NTMS_MODIFY_ACCESS到计算机。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_OPREQUEST | 
              szDescription 需要NTMS_MODIFY_ACCESS到计算机。
 Windowsxp: 无需任何访问权限。  | 
| NTMS_PARTITION | 
              szName Windowsxp: 需要NTMS_CONTROL_ACCESS一侧的媒体池。  | 
| NTMS_PHYSICAL_MEDIA | 
              szDescription Windowsxp: 无需任何访问权限。  | 
| NTMS_STORAGESLOT | 
              szDescription 需要NTMS_MODIFY_ACCESS库。
 Windowsxp: 无需任何访问权限。  | 
注意
ntmsapi.h 标头将 SetNtmsObjectInformation 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
| 要求 | 值 | 
|---|---|
| 最低受支持的客户端 | Windows XP [仅限桌面应用] | 
| 最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] | 
| 目标平台 | Windows | 
| 标头 | ntmsapi.h | 
| Library | Ntmsapi.lib | 
| DLL | Ntmsapi.dll |