Función MountNtmsMedia (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 MountNtmsMedia monta de forma sincrónica uno o varios elementos multimedia.

Sintaxis

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
);

Parámetros

[in] hSession

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

[in] lpMediaId

Matriz de identificadores únicos de medios lógicos o lados.

[in, out] lpDriveId

Matriz de identificadores de unidad que corresponde a la lista de medios en el parámetro lpMediaId . Esta matriz especifica una lista de unidades en las que montar medios o recibe la lista de unidades en las que se monta el medio al finalizar la operación. Consulte el NTMS_MOUNT_SPECIFIC_DRIVE valor a continuación. Si la función MountNtmsMedia agota el tiempo de espera antes de la finalización del montaje, RSM no devuelve la lista de unidades.

[in] dwCount

Número de identificadores multimedia e identificadores de unidad pasados en los parámetros lpMediaId y lpDriveId . Tenga en cuenta que lpMediaId y lpDriveId deben apuntar al primer elemento de matrices de longitud igual.

[in] dwOptions

Opciones. Este parámetro puede ser uno o más de los siguientes valores.

Valor Significado
NTMS_MOUNT_SPECIFIC_DRIVE
Monte el medio en las unidades específicas proporcionadas en el parámetro lpDriveId .
NTMS_MOUNT_READ
Monte los medios para el acceso de lectura. Use este valor para montar medios de solo lectura.
NTMS_MOUNT_WRITE
Monte el medio para el acceso de escritura. Use esta marca para evitar que RSM monte medios completados. Este valor se puede combinar con NTMS_MOUNT_READ para el acceso de lectura y escritura.

RSM no puede montar medios completados si esta marca está seleccionada.

NTMS_MOUNT_ERROR_NOT_AVAILABLE
Este valor devuelve un error si el medio o una unidad no están disponibles.
NTMS_MOUNT_ERROR_OFFLINE
No emita una solicitud de operador para montar medios sin conexión. Devuelve un error si el medio especificado no está actualmente en una biblioteca.

[in] dwPriority

Prioridad del montaje usado por RSM para permitir el acceso a las unidades. Las prioridades van de -15 a 15, con 15 la prioridad más alta y 0 es el valor predeterminado. Este parámetro también puede tomar una de las siguientes constantes. Una aplicación debe pasar NTMS_PRIORITY_NORMAL a menos que se requiera una prioridad de montaje especial.

Valor Significado
NTMS_PRIORITY_NORMAL
Montajes que no son críticos para el tiempo.
NTMS_PRIORITY_LOW
Montajes realizados como una actividad en segundo plano.
NTMS_PRIORITY_HIGH
Montajes que son críticos para el tiempo.
NTMS_PRIORITY_LOWEST
Montaje de prioridad más baja.
NTMS_PRIORITY_HIGHEST
Montaje de prioridad más alta.

[in] dwTimeout

Tiempo máximo permitido para montar el medio especificado, en milisegundos. Establezca este parámetro en INFINITE para esperar hasta que se complete el montaje.

lpMountInformation

Este parámetro está reservado y debe ser NULL.

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_USE_ACCESS al grupo de medios o a la biblioteca que contiene el medio se deniega; otros errores de seguridad también son posibles, pero indicarían un error del subsistema de seguridad.
ERROR_BUSY
Los medios o unidades están ocupados.
ERROR_CANCELLED
La solicitud fue cancelada por la función CloseNtmsSession .
ERROR_DATABASE_FAILURE
La base de datos es inaccesible o está dañada.
ERROR_DATABASE_FULL
La base de datos está llena.
ERROR_DRIVE_MEDIA_MISMATCH
Los medios y unidades especificados no están en la misma biblioteca.
ERROR_INVALID_DRIVE
Al menos una de las unidades especificadas no es válida.
ERROR_INVALID_LIBRARY
La biblioteca que contiene las unidades o medios no es válida.
ERROR_INVALID_MEDIA
Uno o varios de los medios especificados no son válidos o hay identificadores de medios duplicados en la lista de medios.
ERROR_INVALID_STATE
Se produjo un estado de dispositivo o medio inesperado durante el montaje.
ERROR_MEDIA_OFFLINE
El medio está sin conexión y no se puede montar.
ERROR_NOT_ENOUGH_MEMORY
Error de asignación de memoria durante el procesamiento.
ERROR_REQUEST_REFUSED
El usuario canceló la solicitud a través de la interfaz de usuario.
ERROR_RESOURCE_DISABLED
Uno o varios recursos necesarios para realizar el montaje están deshabilitados.
ERROR_SUCCESS
El medio se ha montado y está listo para su uso.
ERROR_TIMEOUT
El evento de tiempo de espera expiró al intentar adquirir uno o varios recursos necesarios. Se ha cancelado la solicitud de montaje.
ERROR_WRITE_PROTECT
El estado multimedia se establece en Completado y se especificó el valor de NTMS_MOUNT_WRITE.

Comentarios

La función MountNtmsMedia pone en cola una solicitud para montar el medio especificado y, a continuación, espera el número de milisegundos especificados en el parámetro dwTimeout para que se complete el montaje o se detecte un error. Si RSM no puede completar la operación de montaje antes de que dwTimeout expire, NTMS cancela la solicitud y devuelve un error. Si el medio especificado está en una biblioteca sin conexión, es posible que la aplicación se bloquee durante un período de tiempo prolongado. Puede usar la función GetNtmsObjectInformation para determinar la ubicación actual del medio especificado. También puede usar el valor de NTMS_MOUNT_ERROR_OFFLINE para generar un error inmediato en lugar de una solicitud de operador cuando el medio está sin conexión.

Si el medio especificado está en uso o una unidad no está disponible, el proceso se bloquea hasta el valor de tiempo de espera y devuelve ERROR_BUSY. Si se especifica el valor de NTMS_MOUNT_ERROR_NOT_AVAILABLE, la función devuelve un error inmediato cuando un recurso (medio o unidad) no está disponible.

El valor de tiempo de espera de INFINITE se puede usar para hacer que la función espere sin que se agote el tiempo de espera. Cuando se especifica un valor de tiempo de espera distinto de cero en el parámetro dwTimeout , RSM espera a que todos los medios especificados en lpMediaId se monten. Si el tiempo especificado transcurre antes de montar todos los medios, la función MountNtmsMedia devuelve un error y cancela la solicitud. La aplicación puede examinar el estado devuelto y volver a enviar la solicitud si lo desea.

Cuando se especifican varios medios para montarse con una sola llamada, todos los medios especificados deben estar en una sola biblioteca. Si alguno de los medios especificados está sin conexión, ninguno de los medios se montará hasta que todos los medios estén en línea.

Al finalizar el montaje del estado de la unidad (por ejemplo, no se define el modo de corrección o variable). La aplicación debe configurar la unidad.

La función CloseNtmsSession se puede usar para cancelar un montaje pendiente. El comportamiento predeterminado es:

  • Si el medio especificado está sin conexión, RSM publica una solicitud de operador para montar los medios y la función MountNtmsMedia espera durante el período de tiempo especificado en el parámetro dwTimeout .
  • Si el medio especificado está en línea, RSM solicita el montaje.
  • Si una unidad o un medio no están disponibles, RSM envía la solicitud y la función MountNtmsMedia espera durante el período de tiempo especificado en el parámetro dwTimeout .

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

Funciones de Media Services