Función CreateNtmsMediaA (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 CreateNtmsMedia crea un PMID y un lado (o lados) para una nueva pieza de medios sin conexión. El medio se coloca en el grupo de medios especificado para lpPhysicalMedia.

Sintaxis

DWORD CreateNtmsMediaA(
  [in] HANDLE                    hSession,
  [in] LPNTMS_OBJECTINFORMATIONA lpMedia,
  [in] LPNTMS_OBJECTINFORMATIONA lpList,
  [in] DWORD                     dwOptions
);

Parámetros

[in] hSession

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

[in] lpMedia

Puntero a una estructura de NTMS_OBJECTINFORMATION que contiene información sobre el medio que se va a crear. Para obtener una descripción de los miembros aplicables, vea Comentarios.

[in] lpList

Puntero a una estructura NTMS_OBJECTINFORMATION que especifica la matriz de lados asociados al medio. Para obtener una descripción de los miembros aplicables, vea Comentarios.

[in] dwOptions

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

Valor Significado
0
Valor predeterminado. Permite la creación de un medio duplicado con un OMID duplicado.
NTMS_ERROR_ON_DUPLICATE
Devuelve un error y no crea el medio si ya existe un medio con el OMID especificado en el sistema.

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS al equipo o al grupo de medios se deniega. Otros errores de seguridad son posibles, pero indican un error del subsistema de seguridad.

Windows XP: NTMS_CONTROL_ACCESS al grupo de medios o NTMS_MODIFY_ACCESS a la biblioteca sin conexión se deniega. Otros errores de seguridad son posibles, pero indican un error del subsistema de seguridad.

ERROR_DATABASE_FAILURE
Base de datos inaccesible o dañada.
ERROR_DATABASE_FULL
La base de datos está llena.
ERROR_DUPLICATE_OMID
La opción NTMS_ERROR_ON_DUPLICATE se proporcionó y ya existe un medio con este OMID.
ERROR_INVALID_HANDLE
Falta el identificador de sesión o no es válido.
ERROR_INVALID_MEDIA
Ya existe una entrada para un medio con este código de barras.
ERROR_INVALID_MEDIA_POOL
El grupo de medios especificado no existe o no es un grupo de aplicaciones o de importación válido.
ERROR_INVALID_PARAMETER
Falta un parámetro o el tamaño de la información del objeto o el tipo de objeto no es válido.
ERROR_MEDIA_INCOMPATIBLE
El número de lados especificados no coincide con el número de lados asociados al tipo de medio del grupo de medios.
ERROR_NOT_ENOUGH_MEMORY
Error de asignación de memoria durante el procesamiento.
ERROR_SUCCESS
La función se ejecutó correctamente.

Comentarios

El parámetro lpMedia debe apuntar a una estructura de NTMS_OBJECTINFORMATION , cuyo parámetro dwType es NTMS_PHYSICAL_MEDIA. A continuación se muestra una lista de miembros y descripciones de la estructura de NTMS_OBJECTINFORMATION .

Miembro Descripción
dwSize [in] CreateNtmsMedia comprueba que este tamaño es igual a la longitud de una estructura de NTMS_OBJECTINFORMATION que contiene una estructura de NTMS_PMIDINFORMATION . Devuelve ERROR_INVALID_PARAMETER si el tamaño es incorrecto.
dwType [in] CreateNtmsMedia comprueba que se proporcionó el valor NTMS_PHYSICAL_MEDIA. Devuelve ERROR_INVALID_PARAMETER si el tipo proporcionado es incorrecto.
Creado [out] Indica la hora en que se especificó el objeto de medios físicos en la base de datos NTMS.
Modificado [out] Indica la hora en que se especificó el objeto de medios físicos en la base de datos NTMS.
ObjectGuid [in/out] Identificador único del objeto físico de medios (PMID). Si se proporciona un valor distinto de NULL , el valor se usa como GUID del medio físico; de lo contrario, se genera un GUID.
Enabled [in] Indica si se debe habilitar o no el medio físico.
dwOperationalState [out] Debe ser NTMS_READY.
szName [in/out] CreateNtmsMedia permite a una aplicación especificar el nombre de un nuevo medio físico. Esto permite que la aplicación siga usando el nombre de un medio después de moverla de un equipo RSM a otro. La selección de nomenclatura predeterminada de RSM es: para un solo lado: Código de barras y, a continuación, Valor de información de etiqueta o Número de secuencia;. para el código de barras multimedia de varios lados y, a continuación, número de secuencia.

Tenga en cuenta que el nombre que aparece en la interfaz de usuario de RSM para una partición es este nombre (el nombre asignado al objeto multimedia físico).

szDescription [in] Parámetro opcional que se puede establecer mediante CreateNtmsMedia. Proporcione la cadena vacía ("\0") para evitar pasar un valor para la descripción.
 

A continuación se muestra una lista de miembros y descripciones de la estructura de NTMS_PMIDINFORMATION .

Miembro Descripción
CurrentLibrary [in] Debe ser el NULL_GUID o el GUID de la biblioteca sin conexión.
MediaPool [in] Debe ser el GUID de un grupo de aplicaciones o de importación válido.

CreateNtmsMedia comprueba que se trata del GUID de un grupo de aplicaciones o de importación válido. También comprueba que el número de particiones proporcionadas es correcto para el tipo de medio asociado a este grupo de medios.

Ubicación [out] Debe ser el NULL_GUID.
LocationType [out] Debe ser NTMS_STORAGESLOT.
HomeSlot [out] Debe ser el NULL_GUID.
MediaType [out] CreateNtmsMedia establece el tipo de medio en el tipo de medio asociado al grupo de medios proporcionado.
szBarCode [in/out] El código de barras se quita de cualquier espacio final. CreateNtmsMedia no realiza ningún intento adicional al comprobar la validez del código de barras.
BarCodeState [out] BarCodeState se establece en NTMS_BARCODESTATE_UNREADABLE si el valor pasado para szBarCode es una cadena vacía; de lo contrario, se establece en NTMS_BARCODESTATE_OK.
szSequenceNumber [out] CreateNtmsMedia asigna el medio recién creado un número de secuencia, que se devuelve en este miembro.
MediaState [out] CreateNtmsMedia establece mediaState en NTMS_MEDIASTATE_IDLE.
dwNumberOfPartitions [in] Define el número de estructuras de NTMS_OBJECTINFORMATION que representan los lados de este medio. CreateNtmsMedia comprueba que el número de lados especificados coincide con el número de lados implícitos por el grupo de medios al que se va a asignar. Si no coinciden, se devuelve ERROR_MEDIA_INCOMPATIBLE.
dwMediaTypeCode [in] Código de tipo de medio SCSI.

RSM no usa este miembro, pero las aplicaciones escritas en RSM pueden usarse para obtener información adicional sobre los medios. Para obtener una descripción de lo que este miembro debe establecerse en, consulte la especificación SCSI del fabricante de hardware para ver la configuración posible.

RSM actualiza este miembro cuando monta el medio recién importado por primera vez.

dwDensityCode [in] Código de densidad SCSI.

RSM no usa este miembro, pero las aplicaciones escritas en RSM pueden usarse para obtener información adicional sobre los medios. Para obtener una descripción de lo que este miembro debe establecerse en, consulte la especificación SCSI del fabricante de hardware para ver la configuración posible.

RSM actualiza este miembro cuando monta el medio recién importado por primera vez.

 

El parámetro lpList debe apuntar a una estructura de NTMS_OBJECTINFORMATION cuyo dwType se NTMS_PARTITION con la siguiente información.

Miembro Descripción
dwSize [in] CreateNtmsMedia comprueba que el tamaño proporcionado coincide con la longitud esperada de una estructura de NTMS_OBJECTINFORMATION que contiene una estructura de NTMS_PARTITIONINFORMATION . Devuelve ERROR_INVALID_PARAMETER si el tamaño es incorrecto.
dwType [in] CreateNtmsMedia comprueba que se proporcionó el valor NTMS_PARTITION. Devuelve ERROR_INVALID_PARAMETER si el tipo proporcionado es incorrecto.
Creado [out] Indica la hora en que se especificó el objeto de partición en la base de datos RSM.
Modificado [out] Indica la hora en que se especificó el objeto de partición en la base de datos RSM.
ObjectGuid [in/out] Identificador único del lado. Si se proporciona un valor distinto de NULL , el valor se usa como GUID del lado; de lo contrario, se genera un GUID.
Enabled [in] Determina si se debe habilitar o no el lado.
dwOperationalState [out] Debe ser NTMS_READY.
szName [in] Nombre de un nuevo lado.
szDescription [in] Parámetro opcional que se puede establecer mediante CreateNtmsMedia. Proporcione la cadena vacía ("\0") para evitar pasar un valor para la descripción.
PhysicalMedia [out] GUID del objeto lateral recién creado.
LogicalMedia [in/out] Parámetro de entrada opcional, así como un parámetro de salida. Si se proporciona el GUID, CreateNtmsMedia intenta crear un nuevo objeto multimedia lógico con el GUID asignado previamente. Si el GUID no es único, CreateNtmsMedia devuelve un error.
State [in] Cualquier estado lateral válido.
Lado [out] CreateNtmsMedia establece el número lateral en su desplazamiento en la matriz Particiones.
dwOmidLabelIdLength [in] Debe ser un valor positivo.

CreateNtmsMedia usa dwOmidLabelIdLength para determinar el número de bytes significativos en el miembro OmidLabelId . Si el valor no es correcto, el OmidLabelId registrado es incorrecto.

OmidLabelId [in] Debe ser una etiqueta multimedia válida que un MLL instalado pueda reconocer.
szOmidLabelType [in] No debe ser una cadena vacía.
szOmidLabelInfo [in] Puede ser la cadena vacía.
dwMountCount [in] Se acepta cualquier valor.
dwAllocateCount [in] Se acepta cualquier valor.
Capacity [in] Código de capacidad SCSI.

RSM no usa este miembro, pero las aplicaciones escritas en RSM pueden usarse para obtener información adicional sobre los medios. Para obtener una descripción de lo que este miembro debe establecerse en, consulte la especificación SCSI del fabricante de hardware para ver la configuración posible.

RSM actualiza este miembro cuando monta el medio recién importado por primera vez.

 

Nota

El encabezado ntmsapi.h define CreateNtmsMedia como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de funció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

Funciones de Media Services