CreateNtmsMediaPool 函式 (ntmsapi.h)
[從 Windows 7 和 Windows Server 2008 R2 起,已不再提供卸除式儲存管理員 。]
CreateNtmsMediaPool 函式會建立新的應用程式媒體集區。
語法
DWORD CreateNtmsMediaPool(
[in] HANDLE hSession,
[in] LPCTSTR lpPoolName,
[in] LPNTMS_GUID lpMediaType,
[in] DWORD dwAction,
[in] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[out] LPNTMS_GUID lpPoolId
);
參數
[in] hSession
OpenNtmsSession 函式所傳回之會話的句柄。
[in] lpPoolName
新媒體集區的名稱。 媒體集區名稱在單一 RSM 資料庫的範圍內必須是唯一的。
[in] lpMediaType
此媒體集區中媒體類型的識別碼。 使用 EnumerateNtmsObject 函式來取得可用媒體類型及其屬性的清單。 應用程式可以傳遞 NULL 指標,以建立只包含其他媒體集區的媒體集區。
[in] dwAction
要執行的動作。 此參數必須是下列其中一個值。
值 | 意義 |
---|---|
|
依名稱開啟現有的媒體集區。 如果集區不存在,則傳回ERROR_OBJECT_NOT_FOUND。 |
|
開啟現有的媒體集區,如果集區不存在,則會建立集區。 |
|
建立新的媒體集區。 如果集區存在,則傳回ERROR_ALREADY_EXISTS。 |
[in] lpSecurityAttributes
用來限制集區存取權的選擇性安全性描述項。
[out] lpPoolId
成功建立或開啟媒體集區之後,接收媒體集區唯一標識符之變數的指標。
傳回值
此函式會傳回下列其中一個值。
值 | 意義 |
---|---|
|
嘗試建立新的媒體集區時,NTMS_CONTROL_ACCESS根集區或父媒體集區遭到拒絕。 其他安全性錯誤也是可行的,但它們會指出安全性子系統錯誤。
Windowsxp: 嘗試建立新的媒體集區時,NTMS_MODIFY_ACCESS父媒體集區遭到拒絕。 其他安全性錯誤也是可行的,但它們會指出安全性子系統錯誤。 |
|
無法建立新的媒體集區,因為已有一個具有此名稱。 |
|
資料庫無法存取或損毀。 |
|
資料庫已滿。 其他安全性錯誤也是可行的,但它們會指出安全性子系統錯誤。 |
|
會話句柄遺失或無效。 |
|
選取的媒體類型無效。 |
|
集區名稱語法無效。 (名稱太長。) |
|
缺少媒體集區名稱或媒體集區標識碼指標。 |
|
無法開啟現有的媒體集區。 |
|
函式成功。 |
備註
免費、無法辨識和匯入媒體集區是由 RSM 所建立,而且無法使用 CreateNtmsMediaPool 函式建立。
RSM 媒體集區會組織成以 「字元分隔的階層。 應用程式、免費、無法辨識和匯入媒體集區存在於階層的根目錄。 RSM 會建立和管理免費、無法辨識和匯入集區。 RSM 會為每個可用的媒體類型建立免費媒體集區。
應用程式特定的媒體集區是由應用程式所建立。 應用程式會在根應用程式集區下建立媒體集區以供自己使用。 這些媒體集區具有類似檔系統的名稱。 只有名稱的端點包含媒體和原則。 應用程式可以定義集區,例如 \MyApp\Pool1 和 \MyApp\Pool2。 這會將階層傳達給使用者介面,並避免重複的名稱。 每個集區層級都必須個別建立;先是 MyApp,然後是 Pool1 和 Pool2,就像資料夾和檔案一樣。
Windows Server 2003: 若要建立媒體集區,您必須NTMS_CONTROL_ACCESS根集區和父集區。 如果未提供安全性描述項,則如果父集區不是根集區) ,集區會繼承其父集區的 ACE (。 此外,建立者和本機系統帳戶具有集區的完整存取權。 如果父集區是根集區,則不會繼承其 ACE;DACL 中唯一的 ACE 是建立者和本機系統帳戶的完整存取權。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | ntmsapi.h |
程式庫 | Ntmsapi.lib |
Dll | Ntmsapi.dll |