Función EnumerateNtmsObject (ntmsapi.h)

[El Administrador de almacenamiento extraíble ya no está disponible a partir de Windows 7 y Windows Server 2008 R2.]

La función EnumerateNtmsObject enumera los objetos RSM contenidos en el parámetro lpContainerId .

Sintaxis

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 de la sesión devuelta por la función OpenNtmsSession .

[in] lpContainerId

Identificador único del contenedor de objetos RSM cuyos objetos se van a enumerar. Este parámetro puede ser el GUID de una biblioteca, un grupo de medios, un identificador de partición, un medio físico o un medio lógico. Para enumerar todos los objetos del tipo especificado por el parámetro dwType , independientemente del contenedor, establezca este parámetro en NULL. Para obtener más información sobre la relación object-container, vea NtmsObjectsTypes.

[out] lpList

Búfer de la matriz de bibliotecas, unidades, medios u otros identificadores de objeto de RSM.

[in, out] lpdwListSize

Puntero a una variable que especifica el número máximo de identificadores que la función puede devolver a través del parámetro lpList . En el momento de la devolución, el número de identificadores en lpList se devuelve en lpdwListSize.

[in] dwType

Tipo de objetos que se van a enumerar en el contenedor lpContainerId . Si lpContainerId es NULL, se enumeran todos los objetos de este tipo admitidos por RSM. Este parámetro puede ser uno de los valores siguientes del tipo de enumeración NtmsObjectsTypes .

Valor Significado
NTMS_CHANGER
Cambiadores.

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_CHANGER_TYPE
Tipos de modificador.

El parámetro lpContainerId debe ser NULL.

NTMS_COMPUTER
Objeto de equipo actual.

El parámetro lpContainerId debe ser NULL.

NTMS_DRIVE
Unidades.

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_DRIVE_TYPE
Tipos de unidad.

El parámetro lpContainerId debe ser NULL.

NTMS_IEDOOR
Puertas.

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_IEPORT
Insert/eject ports contained in a library specified by the lpContainerId parameter or all the insert/eject ports supported by RSM if a NULL container ID is supplied.

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_LIBRARY
Objetos de biblioteca. Entre ellas se incluyen las unidades de biblioteca física y la biblioteca sin conexión.

El parámetro lpContainerId debe ser NULL.

NTMS_LIBREQUEST
Las solicitudes activas de biblioteca (o elementos de trabajo) se ponen en cola en la biblioteca especificada por el parámetro lpContainerId o todos los elementos de trabajo de biblioteca en cola dentro de RSM si se proporciona un identificador de contenedor NULL .

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_LOGICAL_MEDIA
Objeto multimedia lógico. Se trata de un medio asignado a una aplicación que puede contener más de un lado o fragmento de medios físicos.

El parámetro lpContainerId debe ser NUL, un GUID del grupo de medios o un GUID de partición.

NTMS_MEDIA_POOL
Objeto de grupo de medios que contiene medios físicos o lógicos, y parámetros de configuración para administrarlos. Si se especifica NULL como identificador de contenedor, solo se devuelven los nombres de nivel superior.

El parámetro lpContainerId debe ser NULL o un GUID del grupo de medios.

NTMS_MEDIA_TYPE
Objeto de tipo multimedia que contiene los atributos de un tipo de medio admitido por RSM. La enumeración con un valor NULL proporcionará todos los tipos de medios posibles, no solo los disponibles en el servidor actual.

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

NTMS_OPREQUEST
Solicitudes de operador que se encuentran en este servidor RSM.

El parámetro lpContainerId debe ser NULL.

NTMS_PARTITION
En un lado de un elemento de medios físicos. La pieza de medios físicos puede contener varios lados físicos (por ejemplo, un disco óptico contiene dos lados).

El parámetro lpContainerId debe ser NULL, un GUID de medios lógicos, un GUID de medios físicos o un GUID del grupo de medios.

NTMS_PHYSICAL_MEDIA
Elemento de medios físicos (cinta, disco óptico, CD-ROM o cartucho magnético). Un fragmento de medio físico puede contener varios lados físicos (por ejemplo, lados de un disco óptico).

El parámetro lpContainerId debe ser NULL, un GUID del grupo de medios o un GUID de biblioteca.

NTMS_STORAGESLOT
Ranuras multimedia contenidas en una biblioteca especificada por el parámetro lpContainerId o todas las ranuras de almacenamiento compatibles con RSM si se proporciona un identificador de contenedor NULL .

El parámetro lpContainerId debe ser NULL o un GUID de biblioteca.

[in] dwOptions

Opciones de enumeración. Esto solo es aplicable cuando dwType es NTMS_MEDIA_POOL.

Valor Significado
NTMS_ENUM_ROOTPOOL
Esto enumera el grupo raíz además de todos los demás grupos de medios de nivel superior; siempre se devuelve como el primer GUID de la lista. La enumeración del grupo raíz solo es necesaria para obtener o establecer los atributos de seguridad en el objeto . dwType debe ser NTMS_MEDIA_POOL y lpContainerId debe ser NULL.
NTMS_ENUM_DEFAULT
No incluye la enumeración del grupo raíz al enumerar los grupos de medios.
 

Windows XP: Este parámetro está reservado y debe establecerse en cero.

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Valor Significado
ERROR_INVALID_PARAMETER
Falta el puntero lpdwListSize o lpContainerId no es un contenedor válido para el tipo de objeto especificado por dwType.
ERROR_INSUFFICIENT_BUFFER
El tamaño del búfer especificado por lpdwListSize es demasiado pequeño para todos los objetos encontrados. La función trunca la lista y devuelve el tamaño real en lpdwListSize.
ERROR_INVALID_HANDLE
Falta el identificador de sesión o no es válido.
ERROR_NOT_ENOUGH_MEMORY
Error de asignación durante el procesamiento.
ERROR_OBJECT_NOT_FOUND
El GUID especificado por lpContainerId no es el GUID de ningún objeto contenedor de la base de datos.
ERROR_SUCCESS
La función se realizó correctamente. Si lpContainerId no contiene ningún objeto del tipo especificado por dwType, la función devuelve ERROR_SUCCESS y un lpdwListSize de cero.

Comentarios

Las funciones de seguridad también están disponibles para obtener y establecer derechos de acceso específicos en objetos RSM.

Si el número disponible de identificadores especificados en el parámetro lpdwListSize es mayor que el tamaño del búfer actual, lpdwListSize devuelve el número de identificadores necesarios. A continuación, la aplicación debe asignar un búfer más grande e intentarlo de nuevo.

Dado que es posible que otro proceso agregue los identificadores, es posible que una función posterior con una lista cambia de tamaño para obtener un error que indica que la lista es demasiado pequeña.

Si el parámetro lpContainerId se establece en NULL, RSM enumera objetos de nivel superior (como bibliotecas).

Si se muestra más de un objeto, el objeto se puede enumerar desde más de un contenedor. El contenedor NULL es el contenedor de nivel superior y enumera todos los objetos de un sistema. Por ejemplo, puede enumerar medios en una biblioteca determinada o en todos los medios del sistema.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ntmsapi.h
Library Ntmsapi.lib
Archivo DLL Ntmsapi.dll

Consulte también

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

Funciones de administración de objetos

SetNtmsObjectInformation

SetNtmsObjectSecurity