Función SetNtmsObjectAttributeW (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 SetNtmsObjectAttribute crea un atributo extendido (denominado datos privados) en el objeto RSM especificado.

Sintaxis

DWORD SetNtmsObjectAttributeW(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpObjectId,
  [in] DWORD       dwType,
  [in] LPCWSTR     lpAttributeName,
  [in] LPVOID      lpAttributeData,
       DWORD       AttributeSize
);

Parámetros

[in] hSession

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

[in] lpObjectId

GUID del objeto RSM para el que se va a crear el atributo extendido.

[in] dwType

Tipo de objeto RSM. Para obtener una lista de tipos de objeto, vea NtmsObjectsTypes.

[in] lpAttributeName

Nombre del atributo extendido que se va a crear.

[in] lpAttributeData

Datos definidos por el usuario.

AttributeSize

Tamaño del búfer lpAttributeData , en bytes. D

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS se deniega al objeto o no se permiten modificaciones para el tipo de objeto especificado (vea Comentarios). Otros errores de seguridad también son posibles, pero indicarían un error de subsistema de seguridad.

Windows XP: No se requieren derechos de acceso.

ERROR_DATABASE_FAILURE
Error en la actualización de la base de datos.
ERROR_INVALID_HANDLE
El valor especificado en el parámetro hSession es NULL o no es válido.
ERROR_INVALID_NAME
El nombre o atributo no es válido. El valor NTMS_MAXATTR_NAMELEN define la longitud máxima del nombre del atributo. La longitud incluye un valor NULL.
ERROR_INVALID_PARAMETER
El puntero es NULL o no es válido.
ERROR_NO_DATA
El atributo especificado es mayor o igual que NTMS_MAXATTR_LENGTH.
ERROR_NOT_CONNECTED
No se puede conectar al servicio RSM.
ERROR_OBJECT_NOT_FOUND
El GUID no es válido.
ERROR_SUCCESS
La función se realizó correctamente.

Comentarios

La función SetNtmsObjectAttribute debe ejecutarse en el servidor RSM especificado. Dado que el búfer de bytes no está registrado entre sistemas de arquitecturas diferentes, la ejecución remota de esta función puede dar lugar a resultados imprevisibles.

Para eliminar un atributo, realice un conjunto del atributo con una longitud de cero.

A continuación se muestra la lista de objetos que requieren derechos de acceso especiales.

Object Access
NTMS_CHANGER Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_CHANGER_TYPE Requiere NTMS_MODIFY_ACCESS al equipo.
NTMS_COMPUTER Requiere NTMS_MODIFY_ACCESS al equipo.
NTMS_DRIVE Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_DRIVE_TYPE Requiere NTMS_MODIFY_ACCESS al equipo.
NTMS_IEDOOR Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_IEPORT Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_LIBRARY Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_LIBREQUEST Requiere NTMS_MODIFY_ACCESS a la biblioteca.
NTMS_LOGICAL_MEDIA Requiere NTMS_MODIFY_ACCESS al grupo de medios del medio lógico.
NTMS_MEDIA_POOL Requiere NTMS_MODIFY_ACCESS al grupo de medios.
NTMS_MEDIA_TYPE Requiere NTMS_MODIFY_ACCESS al equipo.
NTMS_OPREQUEST Requiere NTMS_MODIFY_ACCESS al equipo.
NTMS_PARTITION Requiere NTMS_MODIFY_ACCESS al grupo de medios del lado.
NTMS_PHYSICAL_MEDIA Requiere NTMS_MODIFY_ACCESS al grupo de medios.
NTMS_STORAGESLOT Requiere NTMS_MODIFY_ACCESS a la biblioteca.
 

Nota

El encabezado ntmsapi.h define SetNtmsObjectAttribute 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

EnumerateNtmsObject

GetNtmsObjectAttribute

Funciones de administración de objetos