CreateNtmsMediaA, fonction (ntmsapi.h)

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

La fonction CreateNtmsMedia crée une fonction DEPM et un côté (ou des côtés) pour un nouvel élément multimédia hors connexion. Le média est placé dans le pool de médias spécifié pour lpPhysicalMedia.

Syntaxe

DWORD CreateNtmsMediaA(
  [in] HANDLE                    hSession,
  [in] LPNTMS_OBJECTINFORMATIONA lpMedia,
  [in] LPNTMS_OBJECTINFORMATIONA lpList,
  [in] DWORD                     dwOptions
);

Paramètres

[in] hSession

Handle à la session retournée par la fonction OpenNtmsSession .

[in] lpMedia

Pointeur vers une structure NTMS_OBJECTINFORMATION qui contient des informations sur le support à créer. Pour obtenir une description des membres applicables, consultez Remarques.

[in] lpList

Pointeur vers une structure NTMS_OBJECTINFORMATION qui spécifie un tableau de côtés associé au support. Pour obtenir une description des membres applicables, consultez Remarques.

[in] dwOptions

Options. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
0
Valeur par défaut. Permet la création d’un support en double avec un OMID en double.
NTMS_ERROR_ON_DUPLICATE
Retourne une erreur et ne crée pas le support si un support avec l’OMID spécifié existe déjà sur le système.

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS à l’ordinateur ou le pool de médias du média est refusé. D’autres erreurs de sécurité sont possibles, mais indiquent une erreur de sous-système de sécurité.

Windows XP : NTMS_CONTROL_ACCESS au pool de médias ou NTMS_MODIFY_ACCESS à la bibliothèque hors connexion est refusée. D’autres erreurs de sécurité sont possibles, mais indiquent une erreur de sous-système de sécurité.

ERROR_DATABASE_FAILURE
Base de données inaccessible ou endommagée.
ERROR_DATABASE_FULL
La base de données est pleine.
ERROR_DUPLICATE_OMID
L’option NTMS_ERROR_ON_DUPLICATE a été fournie et un support existe déjà avec cette OMID.
ERROR_INVALID_HANDLE
Le handle de session est manquant ou n’est pas valide.
ERROR_INVALID_MEDIA
Une entrée existe déjà pour un support avec ce code-barres.
ERROR_INVALID_MEDIA_POOL
Le pool de médias spécifié n’existe pas ou n’est pas un pool d’applications ou d’importation valide.
ERROR_INVALID_PARAMETER
Un paramètre est manquant ou la taille des informations d’objet ou le type d’objet n’est pas valide.
ERROR_MEDIA_INCOMPATIBLE
Le nombre de côtés spécifiés ne correspond pas au nombre de côtés associés au type de média du pool de supports.
ERROR_NOT_ENOUGH_MEMORY
Échec d’allocation de mémoire pendant le traitement.
ERROR_SUCCESS
La fonction s’est exécutée avec succès.

Remarques

Le paramètre lpMedia doit pointer vers une structure NTMS_OBJECTINFORMATION , dont le paramètre dwType est NTMS_PHYSICAL_MEDIA. Voici la liste des membres et des descriptions de la structure NTMS_OBJECTINFORMATION .

Membre Description
dwSize [in] CreateNtmsMedia vérifie que cette taille est égale à la longueur d’une structure NTMS_OBJECTINFORMATION contenant une structure NTMS_PMIDINFORMATION . Elle retourne ERROR_INVALID_PARAMETER si la taille est incorrecte.
dwType [in] CreateNtmsMedia vérifie que la valeur NTMS_PHYSICAL_MEDIA a été fournie. Elle retourne ERROR_INVALID_PARAMETER si le type fourni est incorrect.
Créé le [out] Indique l’heure à laquelle l’objet multimédia physique a été entré dans la base de données NTMS.
Modifié le [out] Indique l’heure à laquelle l’objet multimédia physique a été entré dans la base de données NTMS.
Objectguid [entrée/sortie] Identificateur unique pour l’objet multimédia physique (PMID). Si une valeur non NULL est fournie, la valeur est utilisée comme GUID du support physique, sinon un GUID est généré.
Activé [in] Indique si le support physique doit être activé ou non.
dwOperationalState [out] Doit être NTMS_READY.
szName [entrée/sortie] CreateNtmsMedia permet à une application de spécifier le nom d’un nouveau support physique. Cela permet à l’application de continuer à utiliser le nom d’un support après l’avoir déplacé d’un ordinateur RSM vers un autre. La sélection d’affectation de noms RSM par défaut est : pour une face unique : Code-barres, puis Valeur d’informations sur l’étiquette ou Numéro de séquence ;. pour le code-barres multimédia multi-côté, puis numéro de séquence.

Notez que le nom qui apparaît dans l’interface utilisateur RSM pour une partition est ce nom (nom attribué à l’objet multimédia physique).

szDescription [in] Paramètre facultatif qui peut être défini à l’aide de CreateNtmsMedia. Fournissez la chaîne vide (« \0 ») pour éviter de transmettre une valeur pour la description.
 

Vous trouverez ci-dessous une liste de membres et des descriptions pour la structure NTMS_PMIDINFORMATION .

Membre Description
CurrentLibrary [in] Doit être le NULL_GUID ou le GUID de la bibliothèque hors connexion.
MediaPool [in] Doit être le GUID d’un pool d’applications ou d’importation valide.

CreateNtmsMedia vérifie qu’il s’agit du GUID d’une importation ou d’un pool d’applications valide. Il vérifie également que le nombre de partitions fournies est correct pour le type de média associé à ce pool de médias.

Lieu [out] Doit être le NULL_GUID.
LocationType [out] Doit être NTMS_STORAGESLOT.
HomeSlot [out] Doit être le NULL_GUID.
MediaType [out] CreateNtmsMedia définit le type de média sur le type de média associé au pool de médias fourni.
szBarCode [entrée/sortie] Le code-barres est supprimé de tous les espaces de fin. CreateNtmsMedia n’effectue aucune tentative supplémentaire de vérification de la validité du code-barres.
BarCodeState [out] BarCodeState est défini sur NTMS_BARCODESTATE_UNREADABLE si la valeur passée pour szBarCode est une chaîne vide, sinon elle est définie sur NTMS_BARCODESTATE_OK.
szSequenceNumber [out] CreateNtmsMedia affecte au média nouvellement créé un numéro de séquence, qui est retourné dans ce membre.
MediaState [out] CreateNtmsMedia définit MediaState sur NTMS_MEDIASTATE_IDLE.
dwNumberOfPartitions [in] Définit le nombre de structures NTMS_OBJECTINFORMATION représentant des côtés pour ce support. CreateNtmsMedia vérifie que le nombre de côtés spécifié correspond au nombre de côtés impliqué par le pool de supports auquel il doit être affecté. S’ils ne correspondent pas, ERROR_MEDIA_INCOMPATIBLE est retourné.
dwMediaTypeCode [in] Code de type de média SCSI.

Ce membre n’est pas utilisé par RSM, mais peut être utilisé par les applications écrites dans RSM pour obtenir des informations supplémentaires sur le média. Pour obtenir une description de ce sur quoi ce membre doit être défini, consultez les spécifications SCSI du fabricant du matériel pour connaître les paramètres possibles.

RSM met à jour ce membre lorsqu’il monte le support nouvellement importé pour la première fois.

dwDensityCode [in] Code de densité SCSI.

Ce membre n’est pas utilisé par RSM, mais peut être utilisé par les applications écrites dans RSM pour obtenir des informations supplémentaires sur le média. Pour obtenir une description de ce sur quoi ce membre doit être défini, consultez les spécifications SCSI du fabricant du matériel pour connaître les paramètres possibles.

RSM met à jour ce membre lorsqu’il monte le support nouvellement importé pour la première fois

 

Le paramètre lpList doit pointer vers une structure NTMS_OBJECTINFORMATION dont dwType est NTMS_PARTITION avec les informations suivantes.

Membre Description
dwSize [in] CreateNtmsMedia vérifie que la taille fournie correspond à la longueur attendue d’une structure de NTMS_OBJECTINFORMATION contenant une structure NTMS_PARTITIONINFORMATION . Elle retourne ERROR_INVALID_PARAMETER si la taille est incorrecte.
dwType [in] CreateNtmsMedia vérifie que la valeur NTMS_PARTITION a été fournie. Elle retourne ERROR_INVALID_PARAMETER si le type fourni est incorrect.
Créé le [out] Indique l’heure à laquelle l’objet de partition a été entré dans la base de données RSM.
Modifié le [out] Indique l’heure à laquelle l’objet de partition a été entré dans la base de données RSM.
Objectguid [entrée/sortie] Identificateur unique pour le côté. Si une valeur non NULL est fournie, la valeur est utilisée comme GUID du côté ; sinon, un GUID est généré.
Activé [in] Détermine si le côté doit être activé ou non.
dwOperationalState [out] Doit être NTMS_READY.
szName [in] Nom d’un nouveau côté.
szDescription [in] Paramètre facultatif qui peut être défini à l’aide de CreateNtmsMedia. Fournissez la chaîne vide (« \0 ») pour éviter de transmettre une valeur pour la description.
PhysicalMedia [out] GUID de l’objet latéral nouvellement créé.
LogicalMedia [entrée/sortie] Paramètre d’entrée facultatif, ainsi qu’un paramètre de sortie. Si le GUID est fourni, CreateNtmsMedia tente de créer un objet multimédia logique avec le GUID préattribué. Si le GUID n’est pas unique, CreateNtmsMedia retourne une erreur.
State [in] Tout état latéral valide.
Côté [out] CreateNtmsMedia définit le numéro latéral sur son décalage dans le tableau Partitions.
dwOmidLabelIdLength [in] Doit être une valeur positive.

CreateNtmsMedia utilise dwOmidLabelIdLength pour déterminer le nombre d’octets significatifs dans le membre OmidLabelId . Si la valeur n’est pas correcte, l’omidLabelId enregistré est incorrect.

OmidLabelId [in] Doit être une étiquette multimédia valide qui peut être reconnue par une MLL installée.
szOmidLabelType [in] Ne doit pas être une chaîne vide.
szOmidLabelInfo [in] Peut être la chaîne vide.
dwMountCount [in] Toute valeur est acceptée.
dwAllocateCount [in] Toute valeur est acceptée.
Capacité [in] Code de capacité SCSI.

Ce membre n’est pas utilisé par RSM, mais peut être utilisé par les applications écrites dans RSM pour obtenir des informations supplémentaires sur le média. Pour obtenir une description de ce sur quoi ce membre doit être défini, consultez les spécifications SCSI du fabricant du matériel pour connaître les paramètres possibles.

RSM met à jour ce membre lorsqu’il monte le support nouvellement importé pour la première fois.

 

Notes

L’en-tête ntmsapi.h définit CreateNtmsMedia en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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

Fonctions Media Services