共用方式為


EnumerateNtmsObject 函式 (ntmsapi.h)

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

EnumerateNtmsObject 函式會列舉包含在 lpContainerId 參數中的 RSM 物件。

語法

DWORD EnumerateNtmsObject(
  [in]      HANDLE            hSession,
  [in]      const LPNTMS_GUID lpContainerId,
  [out]     LPNTMS_GUID       lpList,
  [in, out] LPDWORD           lpdwListSize,
  [in]      DWORD             dwType,
  [in]      DWORD             dwOptions
);

參數

[in] hSession

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

[in] lpContainerId

要列舉其物件之 RSM 物件容器的唯一標識符。 此參數可以是連結庫、媒體集區、分割區標識碼、實體媒體或邏輯媒體的 GUID。 若要列舉 dwType 參數所指定之類型的所有物件,不論容器為何,請將此參數設定為 NULL。 如需 object-container 關聯性的詳細資訊,請參閱 NtmsObjectsTypes

[out] lpList

連結庫、磁碟驅動器、媒體或其他 RSM 物件識別子陣列的緩衝區。

[in, out] lpdwListSize

變數的指標,指定函式可透過 lpList 參數傳回的最大識別子數目。 在傳回時, lpList 中的標識子數目會在 lpdwListSize 中傳回。

[in] dwType

要列舉於 lpContainerId 容器中的物件類型。 如果 lpContainerIdNULL,則會列舉 RSM 支援此類型的所有物件。 此參數可以是 NtmsObjectsTypes 列舉類型的下列其中一個值。

意義
NTMS_CHANGER
兌換 商。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_CHANGER_TYPE
變更器類型。

lpContainerId 參數必須是 NULL

NTMS_COMPUTER
目前的計算機物件。

lpContainerId 參數必須是 NULL

NTMS_DRIVE
驅動器。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_DRIVE_TYPE
磁碟驅動器類型。

lpContainerId 參數必須是 NULL

NTMS_IEDOOR
門。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_IEPORT
如果提供 NULL 容器識別碼,則插入/退出包含在 lpContainerId 參數所指定連結庫中的埠,或 RSM 支援的所有插入/退出埠。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_LIBRARY
連結庫物件。 其中包括實體連結庫單位和離線連結庫。

lpContainerId 參數必須是 NULL

NTMS_LIBREQUEST
連結庫作用中要求 (或工作專案) 佇列至 lpContainerId 參數所指定的連結庫,或提供 NULL 容器標識碼時,排入 RSM 內佇列的所有連結庫工作專案。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_LOGICAL_MEDIA
邏輯媒體物件。 這是配置給可能包含多個側邊或實體媒體片段之應用程式的媒體。

lpContainerId 參數必須是 NUL、媒體集區 GUID 或分割區 GUID。

NTMS_MEDIA_POOL
包含邏輯和/或實體媒體的媒體集區物件,以及用來管理它們的組態參數。 如果 NULL 指定為容器識別碼,則只會傳回最上層名稱。

lpContainerId 參數必須是 NULL 或媒體集區 GUID。

NTMS_MEDIA_TYPE
包含 RSM 所支援之媒體類型屬性的媒體類型物件。 使用 NULL 列舉可提供所有可能的媒體類型,而不只是目前伺服器上可用的媒體類型。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

NTMS_OPREQUEST
此 RSM 伺服器上的操作員要求。

lpContainerId 參數必須是 NULL

NTMS_PARTITION
在實體媒體上側邊。 例如,實體媒體可以包含多個實體端 (,例如,光學磁碟包含兩側) 。

lpContainerId 參數必須是 NULL、邏輯媒體 GUID、實體媒體 GUID 或媒體集區 GUID。

NTMS_PHYSICAL_MEDIA
實體媒體 (磁帶、光學磁碟、CD-ROM 或磁力) 的專案。 實體媒體可以包含多個實體端 (例如光學磁碟) 的側邊。

lpContainerId 參數必須是 NULL、媒體集區 GUID 或連結庫 GUID。

NTMS_STORAGESLOT
如果提供 NULL 容器識別碼,則包含在 lpContainerId 參數所指定連結庫中的媒體插槽,或 RSM 支援的所有儲存位置。

lpContainerId 參數必須是 NULL 或連結庫 GUID。

[in] dwOptions

列舉選項。 只有在 dwType 是NTMS_MEDIA_POOL時才適用。

意義
NTMS_ENUM_ROOTPOOL
除了所有其他最上層媒體集區之外,這會列舉根集區;它一律會當做清單中的第一個 GUID 傳回。 只需要列舉根集區,才能取得或設定 物件上的安全性屬性。 dwType 必須是 NTMS_MEDIA_POOL, 而 lpContainerId 必須是 NULL
NTMS_ENUM_DEFAULT
列舉媒體集區時,不包含根集區的列舉。
 

Windowsxp: 此參數是保留的,而且必須設定為零。

傳回值

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

意義
ERROR_INVALID_PARAMETER
遺漏 lpdwListSize 指標,或 lpContainerId 不是 dwType 所指定之物件類型的有效容器。
ERROR_INSUFFICIENT_BUFFER
lpdwListSize 所指定的緩衝區大小對於找到的所有物件而言太小。 函式會截斷清單,並傳回 lpdwListSize 中的實際大小。
ERROR_INVALID_HANDLE
會話句柄遺失或無效。
ERROR_NOT_ENOUGH_MEMORY
處理期間發生配置失敗。
ERROR_OBJECT_NOT_FOUND
lpContainerId 指定的 GUID 不是資料庫中任何容器物件的 GUID。
ERROR_SUCCESS
函式成功。 如果 lpContainerId 不包含 dwType 所指定的類型物件,則函式會傳回 ERROR_SUCCESS,而 lpdwListSize 為零。

備註

安全性功能也可用來取得和設定 RSM 物件的特定訪問許可權。

如果 lpdwListSize 參數中指定的可用標識子數目大於目前的緩衝區大小, lpdwListSize 會傳回所需的標識符數目。 然後,應用程式應該配置較大的緩衝區,然後再試一次。

由於可由另一個進程新增標識符,因此後續具有重設大小清單的函式可能會收到錯誤,指出清單太小。

如果 lpContainerId 參數設定為 NULL,RSM 會列舉最上層物件, (例如連結庫) 。

如果列出多個物件,可以從多個容器列舉物件。 NULL 容器是最高層級的容器,並列舉系統中的所有物件。 例如,您可以在特定連結庫或系統中的所有媒體中列舉媒體。

規格需求

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

另請參閱

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

物件管理函式

SetNtmsObjectInformation

SetNtmsObjectSecurity