EjectNtmsMedia, fonction (ntmsapi.h)

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

La fonction EjectNtmsMedia éjecte le support spécifié à partir du port de la bibliothèque actuelle. Si la bibliothèque est occupée, RSM met en file d’attente EjectNtmsMedia et retourne success.

Syntaxe

DWORD EjectNtmsMedia(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpMediaId,
  [in, out] LPNTMS_GUID lpEjectOperation,
  [in]      DWORD       dwAction
);

Paramètres

[in] hSession

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

[in] lpMediaId

Identificateur unique d’un support physique (PMID).

[in, out] lpEjectOperation

GUID de la demande de bibliothèque de processus d’éjection. Si dwAction est NTMS_EJECT_START, ce paramètre reçoit le GUID de l’opération. Si dwAction est NTMS_EJECT_STOP, ce paramètre doit être défini sur le GUID pour que l’opération soit arrêtée. Ce paramètre n’est pas utilisé avec NTMS_EJECT_QUEUE.

[in] dwAction

Action à effectuer. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
NTMS_EJECT_START
Démarrez l’opération d’éjection avec un port. Le support spécifié est éjecté jusqu’à ce que l’événement de délai d’attente se produise ou que la fonction soit appelée à nouveau avec NTMS_EJECT_STOP. La valeur de délai d’attente est spécifiée dans l’objet de bibliothèque et est appliquée à toutes les éjections de la bibliothèque.
NTMS_EJECT_STOP
Terminez le processus d’éjection spécifié par lpEjectOperation avant l’expiration de l’événement de délai d’attente.
NTMS_EJECT_QUEUE
Mettre en file d’attente le média spécifié pour l’éjection. Utilisé pour regrouper des médias pour des objets NTMS_IEPORT multi-emplacements.

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS à la bibliothèque est refusée. D’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité.
ERROR_BUSY
Plus de médias ont été mis en file d’attente que d’emplacements disponibles dans l’objet NTMS_IEPORT.
ERROR_DATABASE_FAILURE
La base de données est inaccessible ou endommagée.
ERROR_DATABASE_FULL
La base de données est pleine.
ERROR_DEVICE_NOT_AVAILABLE
La bibliothèque est désactivée.
ERROR_INVALID_HANDLE
L’ID de session est manquant ou n’est pas valide.
ERROR_INVALID_OPERATION
Un arrêt a été effectué sur un ID d’opération qui n’était pas valide.
ERROR_INVALID_PARAMETER
Un pointeur d’ID de bibliothèque ou d’ID d’opération est manquant.
ERROR_LIBRARY_OFFLINE
L’ID de bibliothèque fait référence à une bibliothèque hors connexion qui ne peut pas éjecter le média.
ERROR_MEDIA_NOT_AVAILABLE
Le média est désactivé.
ERROR_NOT_ENOUGH_MEMORY
Il y a eu un échec d’allocation pendant le traitement.
ERROR_SUCCESS
L’éjection est mise en file d’attente.

Remarques

La fonction EjectNtmsMedia retourne à l’application dès que la demande d’éjection est mise en file d’attente.

Les médias éjectés à l’aide de la fonction EjectNtmsMedia sont déplacés vers la bibliothèque hors connexion ou supprimés de la base de données. Les cartouches plus propres, les supports d’importation, les supports non reconnus et les supports incompatibles sont supprimés lorsqu’ils sont éjectés.

L’indicateur NTMS_EJECT_QUEUE est utilisé pour regrouper ou traiter par lots des supports marqués pour l’éjection dans une bibliothèque à plusieurs emplacements. Vous pouvez mettre en file d’attente le média à éjecter à l’aide de l’action de file d’attente lorsque l’application a mis en file d’attente tous les médias nécessaires. L’application utilise la commande start pour commencer l’opération d’éjection physique. Si plus de média est mis en file d’attente que d’emplacements dans l’objet NTMS_IEPORT, EjectNtmsMedia retourne ERROR_BUSY. Pour commencer l’opération d’éjection physique, l’application peut utiliser NTMS_EJECT_START avec le dernier ID de média ou NULL.

Si le média est en cours d’utilisation (monté ou ouvert), cette fonction retourne une erreur.

Si la bibliothèque n’a pas de port, utilisez la fonction AccessNtmsLibraryDoor pour insérer et éjecter un média.

La fonction EjectNtmsMedia ne fonctionne pas avec la bibliothèque hors connexion.

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

InjectNtmsMedia

Fonctions de contrôle de bibliothèque