Fonction EnumerateNtmsObject (ntmsapi.h)

[Le Gestionnaire de stockage amovible n’est plus disponible à partir de Windows 7 et Windows Server 2008 R2.]

La fonction EnumerateNtmsObject énumère les objets RSM contenus dans le paramètre lpContainerId .

Syntaxe

DWORD EnumerateNtmsObject(
  [in]      HANDLE            hSession,
  [in]      const LPNTMS_GUID lpContainerId,
  [out]     LPNTMS_GUID       lpList,
  [in, out] LPDWORD           lpdwListSize,
  [in]      DWORD             dwType,
  [in]      DWORD             dwOptions
);

Paramètres

[in] hSession

Gérez la session retournée par la fonction OpenNtmsSession .

[in] lpContainerId

Identificateur unique du conteneur d’objets RSM dont les objets doivent être énumérés. Ce paramètre peut être le GUID d’une bibliothèque, d’un pool de médias, d’un ID de partition, d’un média physique ou d’un média logique. Pour énumérer tous les objets du type spécifié par le paramètre dwType , quel que soit le conteneur, définissez ce paramètre sur NULL. Pour plus d’informations sur la relation objet-conteneur, consultez NtmsObjectsTypes.

[out] lpList

Mémoire tampon pour le tableau de bibliothèques, lecteurs, médias ou autres ID d’objet RSM.

[in, out] lpdwListSize

Pointeur vers une variable qui spécifie le nombre maximal d’ID que la fonction peut retourner via le paramètre lpList . Au moment du retour, le nombre d’ID dans lpList est retourné dans lpdwListSize.

[in] dwType

Type d’objets à énumérer dans le conteneur lpContainerId . Si lpContainerId a la valeur NULL, tous les objets de ce type pris en charge par RSM sont énumérés. Ce paramètre peut être l’une des valeurs suivantes du type d’énumération NtmsObjectsTypes .

Valeur Signification
NTMS_CHANGER
Changeurs.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_CHANGER_TYPE
Types de changeurs.

Le paramètre lpContainerId doit avoir la valeur NULL.

NTMS_COMPUTER
Objet ordinateur actuel.

Le paramètre lpContainerId doit avoir la valeur NULL.

NTMS_DRIVE
Lecteurs.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_DRIVE_TYPE
Types de lecteurs.

Le paramètre lpContainerId doit avoir la valeur NULL.

NTMS_IEDOOR
Portes.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_IEPORT
Insérer/éjecter des ports contenus dans une bibliothèque spécifiée par le paramètre lpContainerId ou tous les ports d’insertion/éjection pris en charge par RSM si un ID de conteneur NULL est fourni.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_LIBRARY
Objets de bibliothèque. Il s’agit notamment des unités de bibliothèque physique et de la bibliothèque hors connexion.

Le paramètre lpContainerId doit avoir la valeur NULL.

NTMS_LIBREQUEST
Les requêtes actives de la bibliothèque (ou éléments de travail) sont mises en file d’attente vers la bibliothèque spécifiée par le paramètre lpContainerId ou tous les éléments de travail de bibliothèque mis en file d’attente dans RSM si un ID de conteneur NULL est fourni.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_LOGICAL_MEDIA
Objet multimédia logique. Il s’agit d’un support alloué à une application qui peut contenir plusieurs côtés ou éléments multimédias physiques.

Le paramètre lpContainerId doit être NUL, un GUID de pool de médias ou un GUID de partition.

NTMS_MEDIA_POOL
Objet de pool de médias qui contient des médias logiques et/ou physiques, ainsi que des paramètres de configuration pour les gérer. Si NULL est spécifié en tant qu’ID de conteneur, seuls les noms de niveau supérieur sont retournés.

Le paramètre lpContainerId doit être NULL ou un GUID de pool de médias.

NTMS_MEDIA_TYPE
Objet de type multimédia qui contient les attributs d’un type de support pris en charge par RSM. L’énumération avec une valeur NULL donne tous les types de médias possibles, pas seulement ceux disponibles sur le serveur actuel.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

NTMS_OPREQUEST
Demandes d’opérateur qui se trouvent sur ce serveur RSM.

Le paramètre lpContainerId doit avoir la valeur NULL.

NTMS_PARTITION
Côté sur un support physique. Le support physique peut contenir plusieurs côtés physiques (par exemple, un disque optique contient deux côtés).

Le paramètre lpContainerId doit être NULL, un GUID de média logique, un GUID de média physique ou un GUID de pool de médias.

NTMS_PHYSICAL_MEDIA
Élément de support physique (bande, disque optique, CD-ROM ou cartouche magnétique). Un support physique peut contenir plusieurs côtés physiques (par exemple, les côtés d’un disque optique).

Le paramètre lpContainerId doit être NULL, un GUID de pool de médias ou un GUID de bibliothèque.

NTMS_STORAGESLOT
Emplacements multimédias contenus dans une bibliothèque spécifiée par le paramètre lpContainerId ou tous les emplacements de stockage pris en charge par RSM si un ID de conteneur NULL est fourni.

Le paramètre lpContainerId doit être NULL ou un GUID de bibliothèque.

[in] dwOptions

Options d’énumération. Cela s’applique uniquement lorsque dwType est NTMS_MEDIA_POOL.

Valeur Signification
NTMS_ENUM_ROOTPOOL
Cela énumère le pool racine en plus de tous les autres pools multimédias de niveau supérieur ; il est toujours retourné en tant que premier GUID de la liste. L’énumération du pool racine est nécessaire uniquement pour obtenir ou définir les attributs de sécurité sur l’objet. dwType doit être NTMS_MEDIA_POOL et lpContainerId doit avoir la valeur NULL.
NTMS_ENUM_DEFAULT
N’inclut pas l’énumération du pool racine lors de l’énumération des pools multimédias.
 

Windows XP : Ce paramètre est réservé et doit être défini sur zéro.

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Valeur Signification
ERROR_INVALID_PARAMETER
Le pointeur lpdwListSize est manquant ou lpContainerId n’est pas un conteneur valide pour le type d’objet spécifié par dwType.
ERROR_INSUFFICIENT_BUFFER
La taille de mémoire tampon spécifiée par lpdwListSize est trop petite pour tous les objets trouvés. La fonction tronque la liste et retourne la taille réelle dans lpdwListSize.
ERROR_INVALID_HANDLE
Le handle de session est manquant ou n’est pas valide.
ERROR_NOT_ENOUGH_MEMORY
Un échec d’allocation s’est produit pendant le traitement.
ERROR_OBJECT_NOT_FOUND
Le GUID spécifié par lpContainerId n’est pas le GUID d’un objet conteneur dans la base de données.
ERROR_SUCCESS
La fonction a réussi. Si lpContainerId ne contient aucun objet du type spécifié par dwType, la fonction retourne ERROR_SUCCESS et un lpdwListSize de zéro.

Remarques

Des fonctions de sécurité sont également disponibles pour obtenir et définir des droits d’accès spécifiques sur les objets RSM.

Si le nombre d’ID disponibles spécifié dans le paramètre lpdwListSize est supérieur à la taille actuelle de la mémoire tampon, lpdwListSize retourne le nombre d’ID requis. L’application doit ensuite allouer une mémoire tampon plus importante et réessayer.

Étant donné qu’il est possible d’ajouter des ID par un autre processus, il est possible qu’une fonction suivante avec une liste redimensionnée obtienne une erreur indiquant que la liste est trop petite.

Si le paramètre lpContainerId est défini sur NULL, RSM énumère les objets de niveau supérieur (tels que les bibliothèques).

Si plusieurs objets sont répertoriés, l’objet peut être énuméré à partir de plusieurs conteneurs. Le conteneur NULL est le conteneur de niveau le plus élevé et énumère tous les objets d’un système. Par exemple, vous pouvez énumérer les médias d’une bibliothèque particulière ou de tous les supports du système.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntmsapi.h
Bibliothèque Ntmsapi.lib
DLL Ntmsapi.dll

Voir aussi

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

Fonctions de gestion des objets

SetNtmsObjectInformation

SetNtmsObjectSecurity