EjectDiskFromSADriveW 函数 (ntmsapi.h)

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

弹出DiskFromSADrive 函数会弹出独立可移动驱动器中的媒体。

语法

DWORD EjectDiskFromSADriveW(
  [in] LPCWSTR lpComputerName,
  [in] LPCWSTR lpAppName,
  [in] LPCWSTR lpDeviceName,
  [in] HWND    hWnd,
  [in] LPCWSTR lpTitle,
  [in] LPCWSTR 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
会话 ID 缺失或无效。
ERROR_INVALID_OPERATION
对无效的操作 ID 执行停止。
ERROR_INVALID_PARAMETER
缺少库 ID 或操作 ID 指针。
ERROR_LIBRARY_OFFLINE
库 ID 是指无法弹出媒体的脱机库。
ERROR_MEDIA_NOT_AVAILABLE
媒体已禁用。
ERROR_NOT_ENOUGH_MEMORY
处理过程中发生分配失败。
ERROR_SUCCESS
弹出操作成功。

言论

尽管 EjectNtmsMedia 可用于实现相同的功能,但 弹出DiskFromSADrive 提供了一种便捷的方法,通过指定其驱动器名称而不是 RSM 名称,从独立设备弹出媒体。 在某些情况下,这是克服媒体上的文件系统锁以弹出该媒体的唯一方法。

除非指定了 NTMS_EJECT_IMMEDIATE 选项,否则在弹出请求排队后,EjectDiskFromSADrive 函数将立即返回到应用程序。

使用 EjectDiskFromSADrive 函数弹出的媒体将移动到脱机库或删除数据库中。 在弹出时会删除导入媒体、无法识别的媒体和不兼容的媒体。

EjectDiskFromSADrive 函数不适用于脱机库。

注意

ntmsapi.h 标头将 EjectDiskFromSADrive 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

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

另请参阅

EjectNtmsMedia

InjectNtmsMedia

库控制函数