共用方式為


InjectNtmsMedia 函式 (ntmsapi.h)

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

InjectNtmsMedia 函式允許媒體插入指定連結庫的埠。 如果連結庫忙碌中,RSM 佇列 InjectNtmsMedia 並傳回成功。

語法

DWORD InjectNtmsMedia(
  [in]  HANDLE      hSession,
  [in]  LPNTMS_GUID lpLibraryId,
  [out] LPNTMS_GUID lpInjectOperation,
  [in]  DWORD       dwAction
);

參數

[in] hSession

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

[in] lpLibraryId

連結庫物件的唯一標識符。

[out] lpInjectOperation

插入連結庫作業的 GUID。 如果 dwAction 是NTMS_INJECT_START,此參數會接收作業的 GUID。 如果 dwAction 是NTMS_INJECT_STOP,則必須將此參數設定為 GUID,才能停止作業。

[in] dwAction

此參數可以是下列其中一個值。

意義
NTMS_INJECT_START
使用埠啟動插入作業。 媒體會重複插入,直到發生逾時事件,或使用NTMS_INJECT_STOP再次呼叫 函式。
NTMS_INJECT_STOP
在逾時事件中斷之前終止插入程式。
NTMS_INJECT_RETRACT
指示連結庫撤銷插入/退出埠,並檢查操作員放置於該處的媒體。
NTMS_INJECT_START_MANY
指示插入/退出埠持續開啟,並檢查操作員放置於該處的媒體。 如果找到媒體,則會重新開啟插入/退出埠以接收更多媒體。

傳回值

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

意義
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_NOT_ENOUGH_MEMORY
處理期間發生配置失敗。
ERROR_SUCCESS
插入已排入佇列。

備註

此函式會在插入要求排入佇列時立即返回應用程式。

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

此函式無法與離線連結庫搭配使用。

插入會開始將媒體插入連結庫的程式。 因為連結庫會因NTMS_IEPORT物件的功能而有所不同,因此每個裝置的運作方式可能稍有不同。 下列步驟說明 RSM 通常如何處理插入:

若要將媒體插入媒體庫

  1. 允許/解除鎖定/擴充NTMS_IEPORT。
  2. 輪詢完整NTMS_IEPORT、已撤銷的NTMS_IEPORT、Stop Inject 命令或逾時值。 如果沒有發生這些動作,請繼續等候。 (未掃描多任務插入/退出埠的完整狀態。)
  3. 發生上述其中一個事件時,NTMS_IEPORT會鎖定,NTMS_IEPORT中的每個媒體都會移至某個位置,並針對每個媒體排入佇列的識別媒體命令。
如果NTMS_IEPORT物件中的媒體沒有足夠的位置,媒體會保留在NTMS_IEPORT物件中,並張貼操作員要求,讓媒體從連結庫移除媒體。

如果沒有可用位置, InjectNtmsMedia 函式會收到錯誤。

規格需求

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

另請參閱

退出NtmsMedia

連結庫控件函式