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.

Valeur Signification
NTMS_MOUNT_SPECIFIC_DRIVE
Montez le média sur les lecteurs spécifiques fournis dans le paramètre lpDriveId .
NTMS_MOUNT_READ
Montez le média pour l’accès en lecture. Utilisez cette valeur pour monter un média en lecture seule.
NTMS_MOUNT_WRITE
Montez le média pour l’accès en écriture. Utilisez cet indicateur pour empêcher RSM de monter le média Terminé. Cette valeur peut être combinée avec NTMS_MOUNT_READ pour l’accès en lecture/écriture.

RSM ne peut pas monter le média Terminé si cet indicateur est sélectionné.

NTMS_MOUNT_ERROR_NOT_AVAILABLE
Cette valeur retourne une erreur si le média ou un lecteur n’est pas disponible.
NTMS_MOUNT_ERROR_OFFLINE
N’émettez pas de demande d’opérateur pour monter un média hors connexion. Retourne une erreur si le média spécifié n’est pas actuellement dans une bibliothèque.

[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.

Valeur Signification
NTMS_PRIORITY_NORMAL
Montages qui ne sont pas critiques dans le temps.
NTMS_PRIORITY_LOW
Montages effectués en tant qu’activité en arrière-plan.
NTMS_PRIORITY_HIGH
Montages qui sont critiques dans le temps.
NTMS_PRIORITY_LOWEST
Montage de priorité la plus faible.
NTMS_PRIORITY_HIGHEST
Montage de priorité la plus élevée.

[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
ERROR_ACCESS_DENIED
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é.
ERROR_BUSY
Le média ou les lecteurs sont occupés.
ERROR_CANCELLED
La requête a été annulée par la fonction CloseNtmsSession .
ERROR_DATABASE_FAILURE
La base de données est inaccessible ou endommagée.
ERROR_DATABASE_FULL
La base de données est pleine.
ERROR_DRIVE_MEDIA_MISMATCH
Le média et le lecteur spécifiés ne se trouvent pas dans la même bibliothèque.
ERROR_INVALID_DRIVE
Au moins un des lecteurs spécifiés n’est pas valide.
ERROR_INVALID_LIBRARY
La bibliothèque qui contient les lecteurs ou le média n’est pas valide.
ERROR_INVALID_MEDIA
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.
ERROR_INVALID_STATE
Un état inattendu du média ou de l’appareil s’est produit pendant le montage.
ERROR_MEDIA_OFFLINE
Le média est hors connexion et ne peut pas être monté.
ERROR_NOT_ENOUGH_MEMORY
Un échec d’allocation de mémoire s’est produit pendant le traitement.
ERROR_REQUEST_REFUSED
L’utilisateur a annulé la demande via l’interface utilisateur.
ERROR_RESOURCE_DISABLED
Une ou plusieurs ressources requises pour effectuer le montage sont désactivées.
ERROR_SUCCESS
Le média a été monté et est prêt à être utilisé.
ERROR_TIMEOUT
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.
ERROR_WRITE_PROTECT
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

Voir aussi

Fonctions Media Services