Função GetNtmsObjectAttributeW (ntmsapi.h)

[O 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 GetNtmsObjectAttribute recupera o atributo estendido (dados privados nomeados) do objeto RSM especificado.

Sintaxe

DWORD GetNtmsObjectAttributeW(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpObjectId,
  [in]      DWORD       dwType,
  [in]      LPCWSTR     lpAttributeName,
  [out]     LPVOID      lpAttributeData,
  [in, out] LPDWORD     lpAttributeSize
);

Parâmetros

[in] hSession

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

[in] lpObjectId

Identificador exclusivo do objeto do qual recuperar os dados.

[in] dwType

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

[in] lpAttributeName

Nome do atributo estendido cujos dados devem ser recuperados.

[out] lpAttributeData

Ponteiro para o buffer que recebe os dados.

[in, out] lpAttributeSize

Tamanho do buffer de dados na entrada, em bytes. Na saída, o tamanho real dos dados, em bytes.

Retornar valor

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

Valor Significado
ERROR_ACCESS_DENIED
NTMS_USE_ACCESS para o objeto ou seu contêiner é negado. 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 consulta ou atualização do banco de dados.
ERROR_INSUFFICIENT_BUFFER
O tamanho do buffer não está especificado corretamente. O tamanho correto é retornado no parâmetro lpAttributeSize .
ERROR_INVALID_HANDLE
O valor especificado no parâmetro hSession é NULL ou não é válido.
ERROR_INVALID_PARAMETER
O ponteiro é NULL ou não é válido.
ERROR_NOT_CONNECTED
Não é possível se conectar ao serviço RSM.
ERROR_OBJECT_NOT_FOUND
O atributo especificado não foi encontrado.
ERROR_SUCCESS
A função foi bem-sucedida.

Comentários

A função GetNtmsObjectAttribute deve ser executada no servidor RSM. 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.

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

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

Observação

O cabeçalho ntmsapi.h define GetNtmsObjectAttribute como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de 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

Funções de gerenciamento de objetos

SetNtmsObjectAttribute