Compartilhar via


Função CreateNtmsMediaPoolA (ntmsapi.h)

[Gerenciador de Armazenamento Removível não está mais disponível a partir do Windows 7 e do Windows Server 2008 R2.]

A função CreateNtmsMediaPool cria um novo pool de mídia de aplicativo.

Sintaxe

DWORD CreateNtmsMediaPoolA(
  [in]  HANDLE                hSession,
  [in]  LPCSTR                lpPoolName,
  [in]  LPNTMS_GUID           lpMediaType,
  [in]  DWORD                 dwAction,
  [in]  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [out] LPNTMS_GUID           lpPoolId
);

Parâmetros

[in] hSession

Manipule para a sessão retornada pela função OpenNtmsSession.

[in] lpPoolName

Nome do novo pool de mídia. Os nomes do pool de mídia devem ser exclusivos no escopo de um único banco de dados RSM.

[in] lpMediaType

Identificador para o tipo de mídia neste pool de mídia. Use a função EnumerateNtmsObject para obter uma lista de tipos de mídia disponíveis e seus atributos. O aplicativo pode passar um ponteiro NULL para criar um pool de mídia que contenha apenas outros pools de mídia.

[in] dwAction

Ação a ser executada. Esse parâmetro deve ser um dos seguintes valores.

Valor Significado
NTMS_OPEN_EXISTING
Abre um pool de mídia existente por nome. Retorna ERROR_OBJECT_NOT_FOUND se o pool não existir.
NTMS_OPEN_ALWAYS
Abre um pool de mídia existente ou cria o pool se ele não existir.
NTMS_CREATE_NEW
Cria um novo pool de mídia. Retorna ERROR_ALREADY_EXISTS se o pool existir.

[in] lpSecurityAttributes

Descritor de segurança opcional usado para restringir o acesso ao pool.

[out] lpPoolId

Ponteiro para uma variável que recebe o identificador exclusivo do pool de mídia depois que o pool de mídia é criado ou aberto com êxito.

Valor de retorno

Essa função retorna um dos valores a seguir.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS para o pool raiz ou o pool de mídia pai é negado ao tentar criar um novo pool de mídia. Outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança.

Windows XP: NTMS_MODIFY_ACCESS para o pool de mídia pai é negado ao tentar criar um novo pool de mídia. Outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança.

ERROR_ALREADY_EXISTS
Não é possível criar um novo pool de mídia porque já existe um com esse nome.
ERROR_DATABASE_FAILURE
O banco de dados está inacessível ou danificado.
ERROR_DATABASE_FULL
O banco de dados está cheio. Outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança.
ERROR_INVALID_HANDLE
O identificador de sessão está ausente ou não é válido.
ERROR_INVALID_MEDIA
O tipo de mídia selecionado não é válido.
ERROR_INVALID_NAME
A sintaxe do nome do pool não é válida. (O nome é muito longo.)
ERROR_INVALID_PARAMETER
O nome do pool de mídia ou o ponteiro da ID do pool de mídia está ausente.
ERROR_OBJECT_NOT_FOUND
Não é possível abrir o pool de mídia existente.
ERROR_SUCCESS
A função foi bem-sucedida.

Observações

Pools de mídia gratuitos, não reconhecidos e de importação são criados pelo RSM e não podem ser criados com a função CreateNtmsMediaPool.

Os pools de mídia RSM são organizados como uma hierarquia separada pelo caractere "". Os pools de mídia Application, Free, Unrecognized e Import existem na raiz da hierarquia. O RSM cria e gerencia os pools gratuitos, não reconhecidos e de importação. O RSM cria um pool de mídia gratuito para cada tipo de mídia disponível.

Pools de mídia específicos do aplicativo são criados por aplicativos. Os aplicativos criam pools de mídia para uso próprio no pool de aplicativos raiz. Esses pools de mídia têm nomes semelhantes ao sistema de arquivos. Somente o ponto de extremidade do nome contém mídia e política. Um aplicativo pode definir pools como \MyApp\Pool1 e \MyApp\Pool2. Isso transmite a hierarquia para a interface do usuário e evita nomes duplicados. Cada nível de pool deve ser criado individualmente; primeiro MyApp e, em seguida, Pool1 e Pool2, muito parecido com pastas e arquivos.

Windows Server 2003: Para criar um pool de mídia, você deve ter NTMS_CONTROL_ACCESS para o pool raiz e o pool pai. Se um descritor de segurança não for fornecido, o pool herdará os ACEs de seu pool pai (se o pool pai não for o pool raiz). Além disso, as contas do criador e do sistema local têm acesso total ao pool. Se o pool pai for o pool raiz, suas ACEs não serão herdadas; os únicos ACEs na DACL são acesso total para as contas do sistema local e do criador.

Nota

O cabeçalho ntmsapi.h define CreateNtmsMediaPool como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho ntmsapi.h
biblioteca Ntmsapi.lib
de DLL Ntmsapi.dll

Consulte também

AllocateNtmsMedia

DeleteNtmsMediaPool

GetNtmsObjectSecurity

Funções dos Serviços de Mídia

SetNtmsObjectSecurity