Función EjectNtmsMedia (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 EjectNtmsMedia expulsa el medio especificado del puerto de la biblioteca actual. Si la biblioteca está ocupada, RSM pone en cola EjectNtmsMedia y devuelve el éxito.

Sintaxis

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

Parámetros

[in] hSession

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

[in] lpMediaId

Identificador único de un elemento de medios físicos (PMID).

[in, out] lpEjectOperation

GUID de la solicitud de biblioteca de procesos de expulsión. Si dwAction es NTMS_EJECT_START, este parámetro recibe el GUID de la operación. Si dwAction es NTMS_EJECT_STOP, este parámetro debe establecerse en el GUID para que se detenga la operación. Este parámetro no se usa con NTMS_EJECT_QUEUE.

[in] dwAction

Acción que se va a realizar. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
NTMS_EJECT_START
Inicie la operación de expulsión con un puerto. El medio especificado se expulsa hasta que se produce el evento de tiempo de espera o se vuelve a llamar a la función con NTMS_EJECT_STOP. El valor de tiempo de espera se especifica en el objeto de biblioteca y se aplica a todas las ejecciones de la biblioteca.
NTMS_EJECT_STOP
Finalice el proceso de expulsión especificado por lpEjectOperation antes de que expire el evento de tiempo de espera.
NTMS_EJECT_QUEUE
Poner en cola los medios especificados para la ejección. Se usa para agrupar medios para objetos NTMS_IEPORT de varias ranuras.

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_BUSY
Se puso más medios en cola que las ranuras disponibles en el objeto NTMS_IEPORT.
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 detención en un identificador de operación que no era válido.
ERROR_INVALID_PARAMETER
Falta un identificador de biblioteca o un 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_MEDIA_NOT_AVAILABLE
El medio está deshabilitado.
ERROR_NOT_ENOUGH_MEMORY
Se produjo un error de asignación durante el procesamiento.
ERROR_SUCCESS
El eject se pone en cola.

Comentarios

La función EjectNtmsMedia vuelve a la aplicación en cuanto se pone en cola la solicitud de expulsión.

Los medios que se expulsan mediante la función EjectNtmsMedia se mueven a la biblioteca sin conexión o se eliminan de la base de datos. Los cartuchos más limpios, los medios de importación, los medios no reconocidos y los medios incompatibles se eliminan cuando se expulsan.

La marca NTMS_EJECT_QUEUE se usa para agrupar o procesar medios por lotes marcados para la expulsión en una biblioteca de varias ranuras. Puede poner en cola medios para la expulsión mediante la acción de cola cuando la aplicación ha puesto en cola todos los medios necesarios. La aplicación usa el comando start para iniciar la operación de expulsión física. Si hay más medios en cola que las ranuras del objeto NTMS_IEPORT, EjectNtmsMedia devuelve ERROR_BUSY. Para iniciar la operación de expulsión física, la aplicación puede usar NTMS_EJECT_START con el último identificador de medio o NULL.

Si el medio está actualmente en uso (montado o abierto), esta función devuelve un error.

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

La función EjectNtmsMedia no funciona con la biblioteca sin conexión.

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

InjectNtmsMedia

Funciones de control de biblioteca