Fonction InjectNtmsMedia (ntmsapi.h)

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

La fonction InjectNtmsMedia permet d’insérer un média dans le port de la bibliothèque spécifiée. Si la bibliothèque est occupée, RSM met en file d’attente InjectNtmsMedia et retourne success.

Syntaxe

DWORD InjectNtmsMedia(
  [in]  HANDLE      hSession,
  [in]  LPNTMS_GUID lpLibraryId,
  [out] LPNTMS_GUID lpInjectOperation,
  [in]  DWORD       dwAction
);

Paramètres

[in] hSession

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

[in] lpLibraryId

Identificateur unique d’un objet de bibliothèque.

[out] lpInjectOperation

GUID de l’opération d’insertion de bibliothèque. Si dwAction est NTMS_INJECT_START, ce paramètre reçoit le GUID de l’opération. Si dwAction est NTMS_INJECT_STOP, ce paramètre doit être défini sur le GUID pour que l’opération soit arrêtée.

[in] dwAction

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
NTMS_INJECT_START
Démarrez l’opération d’insertion avec un port. Le média est inséré à plusieurs reprises jusqu’à ce que l’événement de délai d’attente se produise ou que la fonction soit appelée à nouveau avec NTMS_INJECT_STOP.
NTMS_INJECT_STOP
Arrêtez le processus d’insertion avant le laps de l’événement de délai d’attente.
NTMS_INJECT_RETRACT
Indiquez à la bibliothèque de retirer le port d’insertion/éjection et case activée pour le média placé là par l’opérateur.
NTMS_INJECT_START_MANY
Dirigez le port d’insertion/d’éjection pour qu’il s’ouvre continuellement et case activée pour le support placé là par l’opérateur. Si un support est trouvé, le port d’insertion/d’éjection est rouvert pour recevoir davantage de média.

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS à la bibliothèque est refusé. D’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité.
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
Une action Arrêter a été effectuée sur un ID d’opération qui n’était pas valide.
ERROR_INVALID_PARAMETER
L’ID de bibliothèque ou le pointeur 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_NOT_ENOUGH_MEMORY
Il y a eu un échec d’allocation pendant le traitement.
ERROR_SUCCESS
L’insertion est mise en file d’attente.

Remarques

Cette fonction retourne à l’application dès que la demande d’insertion est mise en file d’attente.

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

Cette fonction ne peut pas être utilisée avec la bibliothèque hors connexion.

Insérer commence le processus d’insertion d’un média dans une bibliothèque. Étant donné que les bibliothèques varient selon les fonctionnalités de l’objet NTMS_IEPORT, chaque appareil peut fonctionner légèrement différemment. Les étapes suivantes décrivent comment RSM gère généralement une injection :

Pour insérer un média dans une bibliothèque

  1. Autoriser/déverrouiller/étendre le NTMS_IEPORT.
  2. Interrogez une NTMS_IEPORT complète, une NTMS_IEPORT rétractée, une commande Arrêter l’injection ou une valeur de délai d’attente. Si aucun d’entre eux ne s’est produit, continuez à attendre. (Les ports d’insertion/d’éjection multi-cartouches ne sont pas analysés pour une status complète.)
  3. Lorsque l’un des événements précédents se produit, le NTMS_IEPORT est verrouillé, chaque support du NTMS_IEPORT est déplacé vers un emplacement et une commande d’identification moyenne est mise en file d’attente pour chaque support.
S’il n’y a pas suffisamment d’emplacements pour le média dans l’objet NTMS_IEPORT, celui-ci reste dans l’objet NTMS_IEPORT et une demande d’opérateur est publiée pour que le média soit supprimé de la bibliothèque.

S’il n’y a pas d’emplacements libres, la fonction InjectNtmsMedia reçoit une erreur.

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

EjectNtmsMedia

Fonctions de contrôle de bibliothèque