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 容器中的物件類型。 如果 lpContainerId 為 NULL,則會列舉 RSM 支援此類型的所有物件。 此參數可以是 NtmsObjectsTypes 列舉類型的下列其中一個值。
[in] dwOptions
列舉選項。 只有在 dwType 是NTMS_MEDIA_POOL時才適用。
值 | 意義 |
---|---|
|
除了所有其他最上層媒體集區之外,這會列舉根集區;它一律會當做清單中的第一個 GUID 傳回。 只需要列舉根集區,才能取得或設定 物件上的安全性屬性。 dwType 必須是 NTMS_MEDIA_POOL, 而 lpContainerId 必須是 NULL。 |
|
列舉媒體集區時,不包含根集區的列舉。 |
Windowsxp: 此參數是保留的,而且必須設定為零。
傳回值
此函式會傳回下列其中一個值。
值 | 意義 |
---|---|
|
遺漏 lpdwListSize 指標,或 lpContainerId 不是 dwType 所指定之物件類型的有效容器。 |
|
lpdwListSize 所指定的緩衝區大小對於找到的所有物件而言太小。 函式會截斷清單,並傳回 lpdwListSize 中的實際大小。 |
|
會話句柄遺失或無效。 |
|
處理期間發生配置失敗。 |
|
lpContainerId 指定的 GUID 不是資料庫中任何容器物件的 GUID。 |
|
函式成功。 如果 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 |