MoveToNtmsMediaPool 函数 (ntmsapi.h)

[从 Windows 7 和 Windows Server 2008 R2 起,可移动存储管理器 不再可用。]

MoveToNtmsMediaPool 函数将指定的媒体从其当前媒体池移动到指定的媒体池。

语法

DWORD MoveToNtmsMediaPool(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpMediaId,
  [in] LPNTMS_GUID lpPoolId
);

参数

[in] hSession

OpenNtmsSession 函数返回的会话的句柄。

[in] lpMediaId

一段物理介质的唯一标识符。

[in] lpPoolId

目标媒体池的唯一标识符。

返回值

此函数返回以下值之一。

含义
ERROR_ACCESS_DENIED
拒绝NTMS_CONTROL_ACCESS媒体的媒体池。 其他安全错误也可能存在,但它们表示存在安全子系统错误。

Windowsxp: NTMS_MODIFY_ACCESS源媒体的媒体池或目标媒体池被拒绝。 其他安全错误也可能存在,但它们表示存在安全子系统错误。

ERROR_BUSY
媒体的至少一端正在使用或当前不可用。
ERROR_DATABASE_FAILURE
数据库不可访问或已损坏。
ERROR_DATABASE_FULL
数据库已满。
ERROR_INVALID_HANDLE
会话句柄缺失或无效。
ERROR_INVALID_MEDIA_POOL
目标媒体池无效;媒体池不存在;或无法识别或导入池中的媒体只能移动到可用池。
ERROR_INVALID_MEDIA
源媒体或隐含源媒体池无效。
ERROR_INVALID_PARAMETER
缺少媒体 ID 或媒体池 ID。
ERROR_MEDIA_INCOMPATIBLE
源的媒体类型不同于目标媒体池的媒体类型。
ERROR_NOT_ENOUGH_MEMORY
处理期间发生分配失败。
ERROR_SUCCESS
函数成功。

注解

MoveToNtmsMediaPool 函数中指定的目标池必须具有相同的媒体类型,并且具有兼容的安全性。

RSM 在将媒体移动到可用媒体池之前,将媒体上的标识符写入媒体。

分区处于“已完成”、“已分配”或“保留”状态的媒体可能不会移动到“免费”媒体池。 仅当媒体的所有分区都处于导入状态时,媒体才能移动到导入池。

Windows Server 2003: 如果可用池是源池,则需要NTMS_USE_ACCESS到可用池,并NTMS_CONTROL_ACCESS目标池。 否则,源池和目标池都需要NTMS_CONTROL_ACCESS。 如果可用池是目标池,则需要NTMS_CONTROL_ACCESS源池,并NTMS_USER_ACCESS可用池。 否则,源池和目标池都需要NTMS_CONTROL_ACCESS。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntmsapi.h
Library Ntmsapi.lib
DLL Ntmsapi.dll

另请参阅

AllocateNtmsMedia

CreateNtmsMediaPool

媒体服务函数