共用方式為


MountNtmsMedia 函式 (ntmsapi.h)

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

MountNtmsMedia 函式會同步掛接一或多個媒體片段。

語法

DWORD MountNtmsMedia(
  [in]      HANDLE                   hSession,
  [in]      LPNTMS_GUID              lpMediaId,
  [in, out] LPNTMS_GUID              lpDriveId,
  [in]      DWORD                    dwCount,
  [in]      DWORD                    dwOptions,
  [in]      int                      dwPriority,
  [in]      DWORD                    dwTimeout,
            LPNTMS_MOUNT_INFORMATION lpMountInformation
);

參數

[in] hSession

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

[in] lpMediaId

邏輯媒體或側邊的唯一標識符數位。

[in, out] lpDriveId

對應至 lpMediaId 參數中媒體清單的磁碟驅動器標識子陣列。 此陣列會指定要將媒體掛接到的磁碟驅動器清單,或接收媒體在作業完成時掛接到的磁碟驅動器清單。 請參閱下面的NTMS_MOUNT_SPECIFIC_DRIVE值。 如果在掛接完成之前 ,MountNtmsMedia 函式逾時,RSM 不會傳回磁碟驅動器清單。

[in] dwCount

lpMediaIdlpDriveId 參數中傳遞的媒體識別碼和磁碟驅動器識別碼數目。 請注意, lpMediaIdlpDriveId 必須指向長度相等陣列的第一個專案。

[in] dwOptions

選項。 此參數可以是下列一或多個值。

意義
NTMS_MOUNT_SPECIFIC_DRIVE
將媒體掛接至 lpDriveId 參數中提供的特定磁碟驅動器。
NTMS_MOUNT_READ
掛接媒體以供讀取存取。 使用此值掛接只讀媒體。
NTMS_MOUNT_WRITE
掛接媒體以進行寫入存取。 使用此旗標可防止 RSM 掛接已完成的媒體。 這個值可以與NTMS_MOUNT_READ結合,以進行讀取/寫入存取。

如果選取此旗標,RSM 就無法掛接已完成的媒體。

NTMS_MOUNT_ERROR_NOT_AVAILABLE
如果媒體或磁碟驅動器無法使用,這個值會傳回錯誤。
NTMS_MOUNT_ERROR_OFFLINE
請勿發出操作員要求以掛接離線媒體。 如果指定的媒體目前不在連結庫中,則傳回錯誤。

[in] dwPriority

RSM 用來允許存取磁碟驅動器的掛接優先順序。 優先順序範圍從 -15 到 15,最高優先順序為 15,預設值為 0。 此參數也可以採用下列其中一個常數。 除非需要特殊掛接優先順序,否則應用程式應該傳遞NTMS_PRIORITY_NORMAL。

意義
NTMS_PRIORITY_NORMAL
不是時間關鍵性的掛接。
NTMS_PRIORITY_LOW
做為背景活動的掛接。
NTMS_PRIORITY_HIGH
具有時間關鍵性的掛接。
NTMS_PRIORITY_LOWEST
最低優先順序掛接。
NTMS_PRIORITY_HIGHEST
最高優先順序掛接。

[in] dwTimeout

允許掛接指定媒體的時間上限,以毫秒為單位。 將此參數設定為 INFINITE 以等到掛接完成為止。

lpMountInformation

此參數是保留的,而且應該是 NULL

傳回值

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

意義
ERROR_ACCESS_DENIED
NTMS_USE_ACCESS至包含媒體的媒體集區或媒體櫃遭到拒絕;其他安全性錯誤也是可行的,但會指出安全性子系統錯誤。
ERROR_BUSY
媒體或磁碟驅動器忙碌中。
ERROR_CANCELLED
CloseNtmsSession 函式已取消要求。
ERROR_DATABASE_FAILURE
資料庫無法存取或損毀。
ERROR_DATABASE_FULL
資料庫已滿。
ERROR_DRIVE_MEDIA_MISMATCH
指定的媒體和磁碟驅動器不在相同的連結庫中。
ERROR_INVALID_DRIVE
至少有一個指定的磁碟驅動器無效。
ERROR_INVALID_LIBRARY
包含磁碟驅動器或媒體的連結庫無效。
ERROR_INVALID_MEDIA
指定的一或多個媒體無效,或媒體清單中有重複的媒體標識碼。
ERROR_INVALID_STATE
掛接期間發生非預期的媒體或裝置狀態。
ERROR_MEDIA_OFFLINE
媒體已離線且無法掛接。
ERROR_NOT_ENOUGH_MEMORY
處理期間發生記憶體配置失敗。
ERROR_REQUEST_REFUSED
用戶已透過使用者介面取消要求。
ERROR_RESOURCE_DISABLED
停用執行掛接所需的一或多個資源。
ERROR_SUCCESS
媒體已掛接並可供使用。
ERROR_TIMEOUT
嘗試取得一或多個必要資源時,逾時事件已過期。 掛接要求已取消。
ERROR_WRITE_PROTECT
媒體狀態會設定為 Completed,且已指定NTMS_MOUNT_WRITE值。

備註

MountNtmsMedia 函式會將要求排入佇列以掛接指定的媒體,然後等候 dwTimeout 參數中指定的毫秒數,讓掛接完成或偵測到錯誤。 如果 RSM 無法在 dwTimeout 到期之前完成掛接作業,NTMS 會取消要求並傳回錯誤。 如果指定的媒體位於離線連結庫中,應用程式可能會長時間遭到封鎖。 您可以使用 GetNtmsObjectInformation 函式 來判斷指定媒體的目前位置。 您也可以使用 NTMS_MOUNT_ERROR_OFFLINE 值,在媒體離線時產生立即錯誤,而不是操作員要求。

如果指定的媒體正在使用中,或磁碟驅動器無法使用,進程會封鎖到逾時值,並傳回ERROR_BUSY。 如果指定NTMS_MOUNT_ERROR_NOT_AVAILABLE值,當資源 (媒體或磁碟) 驅動器無法使用時,函式會傳回立即錯誤。

INFINITE 的逾時值可用來讓函式等候而不逾時。在 dwTimeout 參數中指定非零逾時值時,RSM 會等候 lpMediaId 中指定的所有媒體都掛接。 如果在掛接所有媒體之前經過指定的時間, MountNtmsMedia 函式會傳回錯誤並取消要求。 應用程式可以檢查傳回的狀態,並視需要重新提交要求。

使用單一呼叫指定多個要掛接的媒體時,所有指定的媒體都必須在單一連結庫中。 如果任何指定的媒體脫機,則所有媒體都不會掛接到所有媒體上線為止。

例如,在掛接磁碟驅動器狀態 (完成時,不會定義修正或變數模式) 。 應用程式必須設定磁碟驅動器。

CloseNtmsSession 函式可用來取消擱置的掛接。 預設行為是:

  • 如果指定的媒體脫機,RSM 會張貼操作員要求以掛接媒體,而 MountNtmsMedia 函式會等候 dwTimeout 參數中指定的時間週期。
  • 如果指定的媒體在在線,RSM 會要求掛接。
  • 如果磁碟驅動器或媒體無法使用,RSM 會傳送要求, 而 MountNtmsMedia 函式會等候 dwTimeout 參數中指定的時間週期。

規格需求

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

另請參閱

媒體服務函式