Поделиться через


Функция EjectDiskFromSADriveA (ntmsapi.h)

[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]

Функция EjectDiskFromSADrive извлекает носитель, который находится на автономном съемном диске.

Синтаксис

DWORD EjectDiskFromSADriveA(
  [in] LPCSTR lpComputerName,
  [in] LPCSTR lpAppName,
  [in] LPCSTR lpDeviceName,
  [in] HWND   hWnd,
  [in] LPCSTR lpTitle,
  [in] LPCSTR lpMessage,
  [in] DWORD  dwOptions
);

Параметры

[in] lpComputerName

Имя сервера диспетчера съемных носителей (RSM). Если этот параметр имеет значение NULL, используется текущее имя компьютера.

[in] lpAppName

Уникальная символьная строка, идентифицирующая приложение. Это имя определяет ресурсы и запросы операторов. Этот параметр является необязательным и может иметь значение NULL.

[in] lpDeviceName

Имя извлекаемого устройства. Например, \.\Cdrom0 или \.\PhysicalDriveX (где X — это номер диска, к которому осуществляется доступ).

[in] hWnd

Выполните обработку в диалоговом окне для подтверждения пользователя.

[in] lpTitle

Заголовок отображается в диалоговом окне для получения введенных пользователем данных.

[in] lpMessage

Сообщение, отображаемое в диалоговом окне для получения введенных пользователем данных.

[in] dwOptions

Выполняемая операция. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
NTMS_EJECT_START
Запустите операцию извлечения с помощью порта. Указанный носитель извлекается до тех пор, пока не произойдет событие времени ожидания или функция снова не вызывается с NTMS_EJECT_STOP. Значение времени ожидания указывается в объекте библиотеки и применяется ко всем выбросам в библиотеке.
NTMS_EJECT_STOP
Завершите процесс извлечения до истечения времени ожидания события.
NTMS_EJECT_QUEUE
Разрешите извлечение асинхронным. Функция помещает указанный носитель в очередь для извлечения, а затем возвращает .
NTMS_EJECT_FORCE
Принудительное извлечение носителя. Например, NTFS может удерживать блокировки на носителе, и этот параметр приведет к извлечению носителя, несмотря на эту блокировку.
NTMS_EJECT_IMMEDIATE
Немедленно и синхронно извлеките носитель. Функция не будет возвращать, пока извлечение не будет завершено. Не ставит указанный носитель в очередь для извлечения.
NTMS_EJECT_ASK_USER
Немедленно и синхронно извлеките носитель. Функция не будет возвращать, пока извлечение не будет завершено. Не ставит указанный носитель в очередь для извлечения. Если операция извлечения завершается сбоем, предложите пользователю отменить или принудительно выполнить операцию.

Возвращаемое значение

Эта функция возвращает одно из следующих значений.

Значение Значение
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS в библиотеку запрещено. Возможны и другие ошибки безопасности, но они указывают на ошибку подсистемы безопасности.
ERROR_DATABASE_FAILURE
База данных недоступна или повреждена.
ERROR_DATABASE_FULL
База данных заполнена.
ERROR_DEVICE_NOT_AVAILABLE
Библиотека отключена.
ERROR_INVALID_HANDLE
Идентификатор сеанса отсутствует или недопустим.
ERROR_INVALID_OPERATION
Для недопустимого идентификатора операции была выполнена остановка.
ERROR_INVALID_PARAMETER
Отсутствует указатель идентификатора библиотеки или идентификатора операции.
ERROR_LIBRARY_OFFLINE
Идентификатор библиотеки относится к автономной библиотеке, которая не может извлечь носитель.
ERROR_MEDIA_NOT_AVAILABLE
Носитель отключен.
ERROR_NOT_ENOUGH_MEMORY
Во время обработки произошел сбой выделения.
ERROR_SUCCESS
Операция извлечения прошла успешно.

Комментарии

Хотя EjectNtmsMedia в некоторых случаях можно использовать для выполнения тех же функций, EjectDiskFromSADrive предоставляет удобный способ извлечения мультимедиа из автономного устройства, указав имя диска вместо имени RSM. В некоторых случаях это единственный способ преодолеть блокировки файловой системы на носителе, чтобы извлечь этот носитель.

Функция EjectDiskFromSADrive возвращается в приложение сразу после постановки запроса на извлечение в очередь, если не указан параметр NTMS_EJECT_IMMEDIATE .

Носитель, извлекаемый с помощью функции EjectDiskFromSADrive , перемещается в автономную библиотеку или удаляется из базы данных. Импортированный носитель, нераспознанный и несовместимый носитель удаляются при извлечении.

Функция EjectDiskFromSADrive не работает с автономной библиотекой.

Примечание

Заголовок ntmsapi.h определяет EjectDiskFromSADrive в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

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

EjectNtmsMedia

InjectNtmsMedia

Функции управления библиотекой