Compartir a través de


Función CreateNtmsMediaA (ntmsapi.h)

[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 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 siguientes valores.

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 siguientes valores.

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: se deniega NTMS_CONTROL_ACCESS al grupo de medios o NTMS_MODIFY_ACCESS a la biblioteca sin conexión. 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 importar 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.

Observaciones

El parámetro lpMedia debe apuntar a una estructura NTMS_OBJECTINFORMATION, cuyo parámetro dwType está NTMS_PHYSICAL_MEDIA. A continuación se muestra una lista de miembros y descripciones de la estructura 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 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 multimedia físico en la base de datos NTMS.
modificado [out] Indica la hora en que se especificó el objeto multimedia físico en la base de datos NTMS.
ObjectGuid [in/out] Identificador único del objeto de medios físicos (PMID). Si se proporciona un valor que no esNULL, el valor se usa como GUID del medio físico; de lo contrario, se genera un GUID.
habilitado para [in] Indica si el medio físico debe estar habilitado o no.
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, después 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 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 los espacios finales. CreateNtmsMedia no realiza ningún intento adicional al comprobar la validez del código de barras.
BarCodeState [out] El 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 al 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 lados para 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 debe establecerse este miembro, 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 debe establecerse este miembro, 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 de debe apuntar a una estructura de NTMS_OBJECTINFORMATION cuya 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 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 de RSM.
modificado [out] Indica la hora en que se especificó el objeto de partición en la base de datos de RSM.
ObjectGuid [in/out] Identificador único del lado. Si se proporciona un valor que no esNULL, el valor se usa como GUID del lado; De lo contrario, se genera un GUID.
habilitado para [in] Determina si el lado debe estar habilitado o no.
dwOperationalState [out] Debe ser NTMS_READY.
szName [in] Nombre de un lado nuevo.
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.
de estado de [in] Cualquier estado secundario válido.
lateral [out] CreateNtmsMedia establece el número lateral en su desplazamiento en la matriz Particiones.
dwOmidLabelIdLength [in] Debe ser un valor positivo.

CreateNtmsMedia usa el dwOmidLabelIdLength para determinar el número de bytes significativos en el miembro de 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 de [in] Se acepta cualquier valor.
dwAllocateCount [in] Se acepta cualquier valor.
capacidad de [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 debe establecerse este miembro, 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de ntmsapi.h
biblioteca de Ntmsapi.lib
DLL de Ntmsapi.dll

Consulte también

funciones de Media Services de