共用方式為


退出NtmsMedia 函式 (ntmsapi.h)

[從 Windows 7 和 Windows Server 2008 R2 起,不再提供卸除式儲存管理員 。]

「退出」NtmsMedia 函式會從目前連結庫的埠退出指定的媒體。 如果連結庫忙碌中,RSM 佇列會 退出NtmsMedia 並傳回成功。

語法

DWORD EjectNtmsMedia(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpMediaId,
  [in, out] LPNTMS_GUID lpEjectOperation,
  [in]      DWORD       dwAction
);

參數

[in] hSession

OpenNtmsSession 函式所傳回之會話的句柄。

[in] lpMediaId

實體媒體 (PMID) 的唯一標識碼。

[in, out] lpEjectOperation

退出行程連結庫要求的 GUID。 如果 dwAction 是NTMS_EJECT_START,此參數會接收作業的 GUID。 如果 dwAction 是NTMS_EJECT_STOP,則必須將此參數設定為 GUID,才能停止作業。 此參數不會與 NTMS_EJECT_QUEUE搭配使用。

[in] dwAction

要執行的動作。 此參數可以是下列其中一個值。

意義
NTMS_EJECT_START
使用埠啟動退出作業。 指定的媒體會退出,直到發生逾時事件,或使用 NTMS_EJECT_STOP 再次呼叫 函式。 逾時值是在連結庫物件中指定,並套用至連結庫中的所有退出。
NTMS_EJECT_STOP
在逾時事件逾時之前,終止 lpEjectOperation 所指定的退出程式。
NTMS_EJECT_QUEUE
將指定的媒體排入佇列以退出。 用來將多位置NTMS_IEPORT對象的媒體分組。

傳回值

此函式會傳回下列其中一個值。

意義
ERROR_ACCESS_DENIED
連結庫NTMS_CONTROL_ACCESS遭到拒絕。 也可以發生其他安全性錯誤,但會指出安全性子系統錯誤。
ERROR_BUSY
比NTMS_IEPORT 物件中可用的位置更多的媒體已排入佇列。
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
退出已排入佇列。

備註

當退出要求排入佇列時, 退出媒體 函式就會返回應用程式。

使用 退出NtmsMedia 函式的媒體會移至離線連結庫,或刪除資料庫。 在退出時,會刪除清理工具、匯入媒體、無法辨識的媒體和不相容的媒體。

NTMS_EJECT_QUEUE旗標是用來組合或批次媒體,以便退出多位置連結庫。 當應用程式已將所有必要的媒體排入佇列時,您可以使用佇列動作將媒體排入佇列以退出。 應用程式會使用 start 命令來開始實體退出作業。 如果媒體排入佇列比NTMS_IEPORT物件中的位置多, 則退出NtmsMedia 會傳回ERROR_BUSY。 若要開始實體退出作業,應用程式可以使用NTMS_EJECT_START與最後一個媒體標識碼或 NULL

如果媒體目前正在使用中 (掛接或開啟) ,此函式會傳回錯誤。

如果連結庫沒有埠,請使用 AccessNtmsLibraryDoor 函式來插入和退出媒體。

退出NtmsMedia 函式不適用於離線連結庫。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 ntmsapi.h
程式庫 Ntmsapi.lib
Dll Ntmsapi.dll

另請參閱

InjectNtmsMedia

連結庫控件函式