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.
[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.
[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 |
---|---|
|
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. |
|
Los medios o unidades están ocupados. |
|
La solicitud fue cancelada por la función CloseNtmsSession . |
|
La base de datos es inaccesible o está dañada. |
|
La base de datos está llena. |
|
Los medios y unidades especificados no están en la misma biblioteca. |
|
Al menos una de las unidades especificadas no es válida. |
|
La biblioteca que contiene las unidades o medios no es válida. |
|
Uno o varios de los medios especificados no son válidos o hay identificadores de medios duplicados en la lista de medios. |
|
Se produjo un estado de dispositivo o medio inesperado durante el montaje. |
|
El medio está sin conexión y no se puede montar. |
|
Error de asignación de memoria durante el procesamiento. |
|
El usuario canceló la solicitud a través de la interfaz de usuario. |
|
Uno o varios recursos necesarios para realizar el montaje están deshabilitados. |
|
El medio se ha montado y está listo para su uso. |
|
El evento de tiempo de espera expiró al intentar adquirir uno o varios recursos necesarios. Se ha cancelado la solicitud de montaje. |
|
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 |