InjectNtmsCleaner 函数 (ntmsapi.h)

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

InjectNtmsCleaner 函数允许将清洁器盒插入到指定的库单元中。

语法

DWORD InjectNtmsCleaner(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpLibrary,
  [in, out] LPNTMS_GUID lpInjectOperation,
  [out]     DWORD       dwNumberOfCleansLeft,
  [in]      DWORD       dwAction
);

参数

[in] hSession

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

[in] lpLibrary

库对象的唯一标识符。

[in, out] lpInjectOperation

插入进程库操作的 GUID。 如果 dwAction 为NTMS_INJECT_START,则此参数接收操作的 GUID。 如果 dwAction 是NTMS_INJECT_STOP,则必须将此参数设置为 GUID 才能停止操作。

[out] dwNumberOfCleansLeft

插入的清洁盒上剩余的清洁周期数。

[in] dwAction

此参数的取值可为下列值之一:

含义
NTMS_INJECT_START
使用 NTMS_IEPORT 或 NTMS_IEDOOR 对象开始插入。 应插入单个清洁器盒。 如果使用 NTMS_IEDOOR 对象,则不会对库执行任何清单。
NTMS_INJECT_STOP
在超时事件失效之前终止插入。 (仅适用于具有端口的库。)

返回值

此函数返回以下值之一。

含义
ERROR_ACCESS_DENIED
至少一个 RSM 对象的访问被拒绝。
ERROR_DEVICE_NOT_AVAILABLE
库当前未连接。
ERROR_INVALID_HANDLE
hSession 参数中指定的值无效。
ERROR_INVALID_LIBRARY
无法从数据库检索库定义。
ERROR_LIBRARY_OFFLINE
库必须联机才能插入清洁器盒。
ERROR_NO_SLOT_SET
此库没有保留槽作为清洁槽。
ERROR_SLOT_FULL
已保留清洁槽,但已具有清洁器盒。 必须先使用 弹出NtmsCleaner 函数弹出清洁器盒。
ERROR_SLOT_NOT_PRESENT
保留清理槽,但当前未在库中安装指定的槽。 如果库中至少缺少一个杂志,则会发生此错误。
ERROR_SUCCESS
函数成功。

注解

插入请求排队后,此函数立即返回到应用程序。

若要使用 InjectNtmsCleaner 函数,必须指定保留在清洁器盒上的清洁周期数,以便 RSM 可以跟踪它。

如果NTMS_IEPORT对象可用,NTMS_IEPORT对象会将墨盒定向到当前保留的清洁槽。

如果没有NTMS_IEPORT对象,则执行门访问。 在这种情况下,将指示运算符将媒体放入保留槽。

要求

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

另请参阅

CleanNtmsDrive

更简洁的管理功能

弹出NtmsCleaner

ReleaseNtmsCleanerSlot

ReserveNtmsCleanerSlot