Функция 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
Слот для очистки зарезервирован, но уже имеет более чистый патрон. Сначала необходимо извлечь очиститель с помощью функции EjectNtmsCleaner .
ERROR_SLOT_NOT_PRESENT
Слот очистки зарезервирован, но указанный слот в настоящее время не установлен в библиотеке. Эта ошибка возникает, если в библиотеке отсутствует хотя бы один журнал.
ERROR_SUCCESS
Функция выполнена успешно.

Комментарии

Эта функция возвращается в приложение сразу после постановки запроса на вставку в очередь.

Чтобы использовать функцию InjectNtmsCleaner , необходимо указать количество циклов очистки, оставшихся на очистительном баллончике, чтобы RSM могли отслеживать его.

Если NTMS_IEPORT объект доступен, объект NTMS_IEPORT направляет патрон в зарезервированный слот очистки.

Если NTMS_IEPORT объекта нет, выполняется доступ к двери. В этом случае оператор направляется на размещение носителя в зарезервированный слот.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntmsapi.h
Библиотека Ntmsapi.lib
DLL Ntmsapi.dll

См. также раздел

CleanNtmsDrive

Функции очистки управления

EjectNtmsCleaner

ReleaseNtmsCleanerSlot

ReserveNtmsCleanerSlot