Função EnumerateNtmsObject (ntmsapi.h)
[O Gerenciador de Armazenamento Removível não está mais disponível desde o Windows 7 e o Windows Server 2008 R2.]
A função EnumerateNtmsObject enumera os objetos RSM contidos no parâmetro lpContainerId .
Sintaxe
DWORD EnumerateNtmsObject(
[in] HANDLE hSession,
[in] const LPNTMS_GUID lpContainerId,
[out] LPNTMS_GUID lpList,
[in, out] LPDWORD lpdwListSize,
[in] DWORD dwType,
[in] DWORD dwOptions
);
Parâmetros
[in] hSession
Identificador para a sessão retornada pela função OpenNtmsSession .
[in] lpContainerId
Identificador exclusivo do contêiner de objeto RSM cujos objetos devem ser enumerados. Esse parâmetro pode ser o GUID de uma biblioteca, pool de mídia, ID de partição, mídia física ou mídia lógica. Para enumerar todos os objetos do tipo especificado pelo parâmetro dwType , independentemente do contêiner, defina esse parâmetro como NULL. Para obter mais informações sobre a relação objeto-contêiner, consulte NtmsObjectsTypes.
[out] lpList
Buffer para a matriz de bibliotecas, unidades, mídia ou outras IDs de objeto RSM.
[in, out] lpdwListSize
Ponteiro para uma variável que especifica o número máximo de IDs que a função pode retornar por meio do parâmetro lpList . No momento do retorno, o número de IDs em lpList é retornado em lpdwListSize.
[in] dwType
Tipo de objetos a serem enumerados no contêiner lpContainerId . Se lpContainerId for NULL, todos os objetos desse tipo com suporte pelo RSM serão enumerados. Esse parâmetro pode ser um dos seguintes valores do tipo de enumeração NtmsObjectsTypes .
[in] dwOptions
Opções de enumeração. Isso é aplicável somente quando dwType é NTMS_MEDIA_POOL.
Windows XP: Esse parâmetro é reservado e deve ser definido como zero.
Retornar valor
Essa função retorna um dos valores a seguir.
Valor | Significado |
---|---|
|
O ponteiro lpdwListSize está ausente ou lpContainerId não é um contêiner válido para o tipo de objeto especificado por dwType. |
|
O tamanho do buffer especificado por lpdwListSize é muito pequeno para todos os objetos encontrados. A função trunca a lista e retorna o tamanho real em lpdwListSize. |
|
O identificador de sessão está ausente ou não é válido. |
|
Ocorreu uma falha de alocação durante o processamento. |
|
O GUID especificado por lpContainerId não é o GUID de nenhum objeto de contêiner no banco de dados. |
|
A função foi bem-sucedida. Se lpContainerId não contiver objetos do tipo especificado por dwType, a função retornará ERROR_SUCCESS e um lpdwListSize de zero. |
Comentários
As funções de segurança também estão disponíveis para obter e definir direitos de acesso específicos em objetos RSM.
Se o número disponível de IDs especificado no parâmetro lpdwListSize for maior que o tamanho do buffer atual, lpdwListSize retornará o número de IDs necessárias. Em seguida, o aplicativo deve alocar um buffer maior e tentar novamente.
Como é possível que as IDs sejam adicionadas por outro processo, é possível que uma função subsequente com uma lista redimensionada obtenha um erro indicando que a lista é muito pequena.
Se o parâmetro lpContainerId estiver definido como NULL, o RSM enumerará objetos de nível superior (como bibliotecas).
Se mais de um objeto estiver listado, o objeto poderá ser enumerado de mais de um contêiner. O contêiner NULL é o contêiner de nível mais alto e enumera todos os objetos em um sistema. Por exemplo, você pode enumerar mídia em uma biblioteca específica ou em todas as mídias do sistema.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ntmsapi.h |
Biblioteca | Ntmsapi.lib |
DLL | Ntmsapi.dll |