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

要执行的操作。 此参数须为下列值之一。

含义
NTMS_OPEN_EXISTING
按名称打开现有媒体池。 如果池不存在,则返回ERROR_OBJECT_NOT_FOUND。
NTMS_OPEN_ALWAYS
打开现有的媒体池或创建池(如果不存在)。
NTMS_CREATE_NEW
创建新的媒体池。 如果池存在,则返回ERROR_ALREADY_EXISTS。

[in] lpSecurityAttributes

用于限制对池的访问的可选安全描述符。

[out] lpPoolId

指向变量的指针,该变量在成功创建或打开媒体池后接收媒体池的唯一标识符。

返回值

此函数返回以下值之一。

含义
ERROR_ACCESS_DENIED
尝试创建新的媒体池时,将拒绝对根池或父媒体池NTMS_CONTROL_ACCESS。 其他安全错误也可能存在,但它们表示存在安全子系统错误。

Windowsxp: 尝试创建新的媒体池时,无法NTMS_MODIFY_ACCESS父媒体池。 其他安全错误也可能存在,但它们表示存在安全子系统错误。

ERROR_ALREADY_EXISTS
无法创建新的媒体池,因为已存在具有此名称的媒体池。
ERROR_DATABASE_FAILURE
数据库不可访问或已损坏。
ERROR_DATABASE_FULL
数据库已满。 其他安全错误也可能存在,但它们表示存在安全子系统错误。
ERROR_INVALID_HANDLE
会话句柄缺失或无效。
ERROR_INVALID_MEDIA
所选媒体类型无效。
ERROR_INVALID_NAME
池名称语法无效。 (名称太长。)
ERROR_INVALID_PARAMETER
缺少媒体池名称或媒体池 ID 指针。
ERROR_OBJECT_NOT_FOUND
无法打开现有媒体池。
ERROR_SUCCESS
函数成功。

注解

免费、无法识别和导入的媒体池由 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
Library Ntmsapi.lib
DLL Ntmsapi.dll

另请参阅

AllocateNtmsMedia

DeleteNtmsMediaPool

GetNtmsObjectSecurity

媒体服务函数

SetNtmsObjectSecurity