MountNtmsMedia, fonction (ntmsapi.h)
[Le Gestionnaire de stockage amovible n’est plus disponible à partir de Windows 7 et Windows Server 2008 R2.]
La fonction MountNtmsMedia monte de manière synchrone un ou plusieurs éléments multimédias.
Syntaxe
DWORD MountNtmsMedia(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpMediaId,
[in, out] LPNTMS_GUID lpDriveId,
[in] DWORD dwCount,
[in] DWORD dwOptions,
[in] int dwPriority,
[in] DWORD dwTimeout,
LPNTMS_MOUNT_INFORMATION lpMountInformation
);
Paramètres
[in] hSession
Gérez la session retournée par la fonction OpenNtmsSession .
[in] lpMediaId
Tableau d’identificateurs uniques de supports logiques ou de côtés.
[in, out] lpDriveId
Tableau d’identificateurs de lecteur qui correspond à la liste des médias dans le paramètre lpMediaId . Ce tableau spécifie une liste de lecteurs sur ant le support ou reçoit la liste des lecteurs sur lequel le média est monté à l’achèvement de l’opération. Consultez la valeur NTMS_MOUNT_SPECIFIC_DRIVE ci-dessous. Si la fonction MountNtmsMedia expire avant la fin du montage, RSM ne retourne pas la liste des lecteurs.
[in] dwCount
Nombre d’identificateurs multimédias et d’identificateurs de lecteur passés dans les paramètres lpMediaId et lpDriveId . Notez que lpMediaId et lpDriveId doivent pointer vers le premier élément de tableaux de longueur égale.
[in] dwOptions
Options. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.
[in] dwPriority
Priorité du montage utilisé par RSM pour autoriser l’accès aux lecteurs. Les priorités vont de -15 à 15, avec 15 la priorité la plus élevée et 0 est la priorité par défaut. Ce paramètre peut également prendre l’une des constantes suivantes. Une application doit passer NTMS_PRIORITY_NORMAL, sauf si une priorité de montage spéciale est requise.
[in] dwTimeout
Durée maximale autorisée pour monter le média spécifié, en millisecondes. Définissez ce paramètre sur INFINITE pour attendre que le montage soit terminé.
lpMountInformation
Ce paramètre est réservé et doit avoir la valeur NULL.
Valeur retournée
Cette fonction retourne l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
NTMS_USE_ACCESS au pool multimédia ou à la bibliothèque qui contient le média est refusé ; d’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité. |
|
Le média ou les lecteurs sont occupés. |
|
La requête a été annulée par la fonction CloseNtmsSession . |
|
La base de données est inaccessible ou endommagée. |
|
La base de données est pleine. |
|
Le média et le lecteur spécifiés ne se trouvent pas dans la même bibliothèque. |
|
Au moins un des lecteurs spécifiés n’est pas valide. |
|
La bibliothèque qui contient les lecteurs ou le média n’est pas valide. |
|
Un ou plusieurs des médias spécifiés ne sont pas valides, ou il existe des ID multimédias en double dans la liste des médias. |
|
Un état inattendu du média ou de l’appareil s’est produit pendant le montage. |
|
Le média est hors connexion et ne peut pas être monté. |
|
Un échec d’allocation de mémoire s’est produit pendant le traitement. |
|
L’utilisateur a annulé la demande via l’interface utilisateur. |
|
Une ou plusieurs ressources requises pour effectuer le montage sont désactivées. |
|
Le média a été monté et est prêt à être utilisé. |
|
L’événement de délai d’attente a expiré lors de la tentative d’acquisition d’une ou de plusieurs ressources requises. La demande de montage a été annulée. |
|
L’état du média est défini sur Terminé et la valeur NTMS_MOUNT_WRITE a été spécifiée. |
Remarques
La fonction MountNtmsMedia met en file d’attente une demande de montage du média spécifié, puis attend le nombre de millisecondes spécifié dans le paramètre dwTimeout pour que le montage se termine ou qu’une erreur soit détectée. Si RSM ne peut pas terminer l’opération de montage avant l’expiration de dwTimeout , NTMS annule la demande et retourne une erreur. Si le média spécifié se trouve dans une bibliothèque hors connexion, l’application peut être bloquée pendant une période prolongée. Vous pouvez utiliser la fonction GetNtmsObjectInformation pour déterminer l’emplacement actuel du support spécifié. Vous pouvez également utiliser la valeur NTMS_MOUNT_ERROR_OFFLINE pour générer une erreur immédiate au lieu d’une demande d’opérateur lorsque le média est hors connexion.
Si le support spécifié est en cours d’utilisation ou si un lecteur n’est pas disponible, le processus bloque jusqu’à la valeur de délai d’attente et retourne ERROR_BUSY. Si la valeur NTMS_MOUNT_ERROR_NOT_AVAILABLE est spécifiée, la fonction retourne une erreur immédiate lorsqu’une ressource (support ou lecteur) n’est pas disponible.
La valeur de délai d’attente d’INFINITE peut être utilisée pour faire attendre la fonction sans délai d’attente. Lorsqu’une valeur de délai d’attente autre que zéro est spécifiée dans le paramètre dwTimeout , RSM attend que tous les médias spécifiés dans lpMediaId soient montés. Si le temps spécifié s’écoule avant que tous les supports ne soit montés, la fonction MountNtmsMedia retourne une erreur et annule la demande. L’application peut examiner les status retournées et soumettre à nouveau la demande si vous le souhaitez.
Lorsque plusieurs médias à monter sont spécifiés avec un seul appel, tous les supports spécifiés doivent se trouver dans une seule bibliothèque. Si l’un des médias spécifiés est hors connexion, aucun média n’est monté tant que tous les médias ne sont pas en ligne.
À la fin du montage, l’état du lecteur (par exemple, mode fixe ou variable) n’est pas défini. L’application doit configurer le lecteur.
La fonction CloseNtmsSession peut être utilisée pour annuler un montage en attente. Le comportement par défaut est :
- Si le support spécifié est hors connexion, RSM publie une demande d’opérateur pour monter le média et la fonction MountNtmsMedia attend la période spécifiée dans le paramètre dwTimeout .
- Si le support spécifié est en ligne, RSM demande le montage.
- Si un lecteur ou un média n’est pas disponible, RSM envoie la demande et la fonction MountNtmsMedia attend la période spécifiée dans le paramètre dwTimeout .
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 |