Função EjectDiskFromSADriveW (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 EjectDiskFromSADrive ejeta a mídia que está em uma unidade removível autônoma.

Sintaxe

DWORD EjectDiskFromSADriveW(
  [in] LPCWSTR lpComputerName,
  [in] LPCWSTR lpAppName,
  [in] LPCWSTR lpDeviceName,
  [in] HWND    hWnd,
  [in] LPCWSTR lpTitle,
  [in] LPCWSTR lpMessage,
  [in] DWORD   dwOptions
);

Parâmetros

[in] lpComputerName

Nome do servidor do RSM (Gerenciador de Armazenamento Removível). Se esse parâmetro for NULL, o nome do computador atual será usado.

[in] lpAppName

Cadeia de caracteres exclusiva que identifica o aplicativo. Esse nome identifica recursos e solicitações de operador. Esse parâmetro é opcional e pode ser NULL.

[in] lpDeviceName

Nome do dispositivo a ser ejetado. Por exemplo, \.\Cdrom0 ou \.\PhysicalDriveX (em que X é o número da unidade que está sendo acessada).

[in] hWnd

Manipule para uma janela de caixa de diálogo para confirmação do usuário.

[in] lpTitle

Título exibido em uma caixa de diálogo para obter a entrada do usuário.

[in] lpMessage

Mensagem exibida em uma caixa de diálogo para obter a entrada do usuário.

[in] dwOptions

Ação a ser executada. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
NTMS_EJECT_START
Inicie a operação de ejeção com uma porta. O meio especificado é ejetado até que o evento de tempo limite ocorra ou a função seja chamada novamente com NTMS_EJECT_STOP. O valor de tempo limite é especificado no objeto de biblioteca e é aplicado a todas as ejeções na biblioteca.
NTMS_EJECT_STOP
Encerre o processo de ejeção antes que o evento de tempo limite seja encerrado.
NTMS_EJECT_QUEUE
Permita que a ejeção seja assíncrona. A função enfileira a mídia especificada para ejeção e retorna.
NTMS_EJECT_FORCE
Force a mídia a ser ejetada. Por exemplo, o NTFS pode manter bloqueios na mídia e essa opção fará com que a mídia seja ejetada apesar desse bloqueio.
NTMS_EJECT_IMMEDIATE
Ejete a mídia imediatamente e síncronamente. A função não retornará até que a ejeção seja concluída. Não enfileira a mídia especificada para ejeção.
NTMS_EJECT_ASK_USER
Ejete a mídia imediatamente e síncronamente. A função não retornará até que a ejeção seja concluída. Não enfileira a mídia especificada para ejeção. Se a operação de ejeção falhar, solicite que o usuário cancele ou force a operação.

Retornar valor

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

Valor Significado
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS para a biblioteca é negado. Outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança.
ERROR_DATABASE_FAILURE
O banco de dados está inacessível ou danificado.
ERROR_DATABASE_FULL
O banco de dados está cheio.
ERROR_DEVICE_NOT_AVAILABLE
A biblioteca está desabilitada.
ERROR_INVALID_HANDLE
A ID da sessão está ausente ou não é válida.
ERROR_INVALID_OPERATION
Uma parada foi executada em uma ID de operação que não era válida.
ERROR_INVALID_PARAMETER
Uma ID de biblioteca ou ponteiro de ID de operação está ausente.
ERROR_LIBRARY_OFFLINE
A ID da biblioteca refere-se a uma biblioteca offline que não pode ejetar mídia.
ERROR_MEDIA_NOT_AVAILABLE
A mídia está desabilitada.
ERROR_NOT_ENOUGH_MEMORY
Houve uma falha de alocação durante o processamento.
ERROR_SUCCESS
A operação de ejeção foi bem-sucedida.

Comentários

Embora o EjectNtmsMedia possa, em alguns casos, ser usado para realizar a mesma funcionalidade, o EjectDiskFromSADrive fornece uma maneira conveniente de ejetar mídia de um dispositivo autônomo, especificando seu nome de unidade em vez de seu nome RSM. Em alguns casos, é a única maneira de superar os bloqueios do sistema de arquivos na mídia para ejetar essa mídia.

A função EjectDiskFromSADrive retorna ao aplicativo assim que a solicitação de ejeção é enfileirada, a menos que NTMS_EJECT_IMMEDIATE opção seja especificada.

A mídia ejetada usando a função EjectDiskFromSADrive é movida para a biblioteca offline ou excluída do banco de dados. A mídia de importação, a mídia não reconhecida e a mídia incompatível são excluídas quando ejetadas.

A função EjectDiskFromSADrive não funciona com a biblioteca offline.

Observação

O cabeçalho ntmsapi.h define EjectDiskFromSADrive 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 Vista [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

EjectNtmsMedia

InjectNtmsMedia

Funções de controle de biblioteca