Compartir a través de


Función InjectNtmsMedia (ntmsapi.h)

[El Administrador de almacenamiento extraíble ya no está disponible a partir de Windows 7 y Windows Server 2008 R2.]

La función InjectNtmsMedia permite insertar medios en el puerto de la biblioteca especificada. Si la biblioteca está ocupada, RSM pone en cola InjectNtmsMedia y devuelve el éxito.

Sintaxis

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

Parámetros

[in] hSession

Identificador de la sesión devuelta por la función OpenNtmsSession .

[in] lpLibraryId

Identificador único de un objeto de biblioteca.

[out] lpInjectOperation

GUID de la operación de inserción de biblioteca. Si dwAction es NTMS_INJECT_START, este parámetro recibe el GUID de la operación. Si dwAction es NTMS_INJECT_STOP, este parámetro debe establecerse en el GUID para que se detenga la operación.

[in] dwAction

Este parámetro puede ser uno de los valores siguientes.

Valor Significado
NTMS_INJECT_START
Inicie la operación de inserción con un puerto. Los medios se insertan repetidamente hasta que se produzca el evento de tiempo de espera o se vuelva a llamar a la función con NTMS_INJECT_STOP.
NTMS_INJECT_STOP
Finalice el proceso de inserción antes de que se agote el tiempo de espera del evento.
NTMS_INJECT_RETRACT
Dirija la biblioteca para retirar el puerto de inserción y expulsión y compruebe los medios colocados allí por el operador.
NTMS_INJECT_START_MANY
Dirija el puerto de inserción/expulsión para abrir continuamente y comprobar los medios colocados allí por el operador. Si se encuentra un medio, se vuelve a abrir el puerto de inserción o expulsión para recibir más medios.

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS a la biblioteca se deniega. Otros errores de seguridad también son posibles, pero indicarían un error de subsistema de seguridad.
ERROR_DATABASE_FAILURE
La base de datos es inaccesible o está dañada.
ERROR_DATABASE_FULL
La base de datos está llena.
ERROR_DEVICE_NOT_AVAILABLE
La biblioteca está deshabilitada.
ERROR_INVALID_HANDLE
Falta el identificador de sesión o no es válido.
ERROR_INVALID_OPERATION
Se realizó una acción Detener en un identificador de operación que no era válido.
ERROR_INVALID_PARAMETER
Falta el identificador de biblioteca o el puntero de identificador de operación.
ERROR_LIBRARY_OFFLINE
El identificador de biblioteca hace referencia a una biblioteca sin conexión que no puede expulsar medios.
ERROR_NOT_ENOUGH_MEMORY
Se produjo un error de asignación durante el procesamiento.
ERROR_SUCCESS
La inserción se pone en cola.

Comentarios

Esta función vuelve a la aplicación tan pronto como se pone en cola la solicitud de inserción.

Si la biblioteca especificada por la función InjectNtmsMedia no tiene un puerto, use la función AccessNtmsLibraryDoor para insertar y expulsar medios.

Esta función no se puede usar con la biblioteca sin conexión.

La inserción comienza el proceso de inserción de medios en una biblioteca. Dado que las bibliotecas varían en función de la funcionalidad del objeto NTMS_IEPORT, cada dispositivo puede funcionar de forma ligeramente diferente. En los pasos siguientes se describe cómo RSM controla generalmente una inyección:

Para insertar elementos multimedia en una biblioteca

  1. Permitir, desbloquear o extender el NTMS_IEPORT.
  2. Sondear una NTMS_IEPORT completa, un NTMS_IEPORT retirado, un comando Detener inserción o un valor de tiempo de espera. Si no se ha producido ninguno de estos, continúe esperando. (Los puertos de inserción/expulsión de varios cartuchos no se examinan para su estado completo).
  3. Cuando se produce uno de los eventos anteriores, el NTMS_IEPORT está bloqueado, cada medio del NTMS_IEPORT se mueve a una ranura y se pone en cola un comando medio de identificación para cada medio.
Si no hay suficientes ranuras para el medio en el objeto NTMS_IEPORT, el medio permanece en el objeto NTMS_IEPORT y se publica una solicitud de operador para que los medios se quiten de la biblioteca.

Si no hay ranuras gratuitas, la función InjectNtmsMedia recibe un error.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ntmsapi.h
Library Ntmsapi.lib
Archivo DLL Ntmsapi.dll

Consulte también

EjectNtmsMedia

Funciones de control de biblioteca