Função SetNtmsObjectAttributeA (ntmsapi.h)

[O Gerenciador de Armazenamento Removível não está mais disponível desde o Windows 7 e o Windows Server 2008 R2.]

A função SetNtmsObjectAttribute cria um atributo estendido (dados privados nomeados) no objeto RSM especificado.

Sintaxe

DWORD SetNtmsObjectAttributeA(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpObjectId,
  [in] DWORD       dwType,
  [in] LPCSTR      lpAttributeName,
  [in] LPVOID      lpAttributeData,
  [in] DWORD       dwAttributeSize
);

Parâmetros

[in] hSession

Identificador para a sessão retornada pela função OpenNtmsSession .

[in] lpObjectId

GUID do objeto RSM para o qual o atributo estendido deve ser criado.

[in] dwType

Tipo de objeto RSM. Para obter uma lista de tipos de objeto, consulte NtmsObjectsTypes.

[in] lpAttributeName

Nome do atributo estendido a ser criado.

[in] lpAttributeData

Dados definidos pelo usuário.

[in] dwAttributeSize

Tamanho do buffer lpAttributeData , em bytes.

Retornar valor

Essa função retorna um dos valores a seguir.

Valor Significado
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS é negado ao objeto ou nenhuma modificação é permitida para o tipo de objeto especificado (consulte Comentários). Outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança.

Windows XP: Nenhum direito de acesso é necessário.

ERROR_DATABASE_FAILURE
Falha na atualização do banco de dados.
ERROR_INVALID_HANDLE
O valor especificado no parâmetro hSession é NULL ou não é válido.
ERROR_INVALID_NAME
O nome ou atributo não é válido. O valor NTMS_MAXATTR_NAMELEN define o comprimento máximo do nome do atributo. O comprimento inclui um NULL.
ERROR_INVALID_PARAMETER
O ponteiro é NULL ou não é válido.
ERROR_NO_DATA
O atributo especificado é maior ou igual a NTMS_MAXATTR_LENGTH.
ERROR_NOT_CONNECTED
Não é possível se conectar ao serviço RSM.
ERROR_OBJECT_NOT_FOUND
O GUID não é válido.
ERROR_SUCCESS
A função foi bem-sucedida.

Comentários

A função SetNtmsObjectAttribute deve ser executada no servidor RSM especificado. Como o buffer de bytes não émarsalizado entre sistemas de arquiteturas diferentes, a execução remota dessa função pode resultar em resultados imprevisíveis.

Para excluir um atributo, execute um conjunto do atributo com um comprimento de zero.

Veja a seguir a lista de objetos que exigem direitos de acesso especiais.

Objeto Access
NTMS_CHANGER Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_CHANGER_TYPE Requer NTMS_MODIFY_ACCESS ao computador.
NTMS_COMPUTER Requer NTMS_MODIFY_ACCESS ao computador.
NTMS_DRIVE Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_DRIVE_TYPE Requer NTMS_MODIFY_ACCESS ao computador.
NTMS_IEDOOR Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_IEPORT Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_LIBRARY Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_LIBREQUEST Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_LOGICAL_MEDIA Requer NTMS_MODIFY_ACCESS ao pool de mídia da mídia lógica.
NTMS_MEDIA_POOL Requer NTMS_MODIFY_ACCESS ao pool de mídia.
NTMS_MEDIA_TYPE Requer NTMS_MODIFY_ACCESS ao computador.
NTMS_OPREQUEST Requer NTMS_MODIFY_ACCESS ao computador.
NTMS_PARTITION Requer NTMS_MODIFY_ACCESS ao pool de mídia do lado.
NTMS_PHYSICAL_MEDIA Requer NTMS_MODIFY_ACCESS ao pool de mídia.
NTMS_STORAGESLOT Requer NTMS_MODIFY_ACCESS à biblioteca.
 

Observação

O cabeçalho ntmsapi.h define SetNtmsObjectAttribute como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ntmsapi.h
Biblioteca Ntmsapi.lib
DLL Ntmsapi.dll

Confira também

EnumerateNtmsObject

GetNtmsObjectAttribute

Funções de gerenciamento de objetos