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


Функция 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 [только классические приложения]
целевая платформа Виндоус
заголовка ntmsapi.h
библиотеки Ntmsapi.lib
DLL Ntmsapi.dll

См. также

EjectNtmsMedia

InjectNtmsMedia

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