Compartilhar via


Função SetNtmsObjectAttributeA (ntmsapi.h)

[Gerenciador de Armazenamento Removível não está mais disponível a partir do Windows 7 e do 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

Manipule 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.

Valor de retorno

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: Não são necessários direitos de acesso.

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 umNULL .
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.

Observações

A função SetNtmsObjectAttribute deve ser executada no servidor RSM especificado. Como o buffer de bytes não é modificado 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 igual a zero.

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

Objeto Acesso
NTMS_CHANGER Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_CHANGER_TYPE Requer NTMS_MODIFY_ACCESS para o computador.
NTMS_COMPUTER Requer NTMS_MODIFY_ACCESS para o computador.
NTMS_DRIVE Requer NTMS_MODIFY_ACCESS à biblioteca.
NTMS_DRIVE_TYPE Requer NTMS_MODIFY_ACCESS para o 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 para o computador.
NTMS_OPREQUEST Requer NTMS_MODIFY_ACCESS para o 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.
 

Nota

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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho ntmsapi.h
biblioteca Ntmsapi.lib
de DLL Ntmsapi.dll

Consulte também

EnumerateNtmsObject

GetNtmsObjectAttribute

Funções de gerenciamento de objetos