Compartilhar via


Função EjectNtmsMedia (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 EjectNtmsMedia ejeta o meio especificado da porta da biblioteca atual. Se a biblioteca estiver ocupada, o RSM enfileira o EjectNtmsMedia e retorna êxito.

Sintaxe

DWORD EjectNtmsMedia(
  [in]      HANDLE      hSession,
  [in]      LPNTMS_GUID lpMediaId,
  [in, out] LPNTMS_GUID lpEjectOperation,
  [in]      DWORD       dwAction
);

Parâmetros

[in] hSession

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

[in] lpMediaId

Identificador exclusivo de uma PMID (mídia física).

[in, out] lpEjectOperation

GUID da solicitação ejetar biblioteca de processos. Se dwAction for NTMS_EJECT_START, esse parâmetro receberá o GUID da operação. Se dwAction for NTMS_EJECT_STOP, esse parâmetro deverá ser definido como GUID para que a operação seja interrompida. Esse parâmetro não é usado com NTMS_EJECT_QUEUE.

[in] dwAction

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 especificado por lpEjectOperation antes que o tempo limite do evento seja encerrado.
NTMS_EJECT_QUEUE
Enfileira a mídia especificada para ejeção. Usado para agrupar mídia para objetos NTMS_IEPORT de vários slots.

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_BUSY
Mais mídia foi enfileirada do que slots disponíveis no objeto NTMS_IEPORT.
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 ejeção está na fila.

Comentários

A função EjectNtmsMedia retorna ao aplicativo assim que a solicitação de ejeção é enfileirada.

A mídia ejetada usando a função EjectNtmsMedia é movida para a biblioteca offline ou excluída do banco de dados. Cartuchos mais limpos, mídia de importação, mídia não reconhecida e mídia incompatível são excluídos quando ejetados.

O sinalizador NTMS_EJECT_QUEUE é usado para agrupar ou mídia em lote marcada para ejeção em uma biblioteca de vários slots. Você pode enfileirar mídia para ejeção usando a ação de fila quando o aplicativo enfileira todas as mídias necessárias. O aplicativo usa o comando start para iniciar a operação de ejeção física. Se mais mídia estiver na fila do que slots no objeto NTMS_IEPORT, o EjectNtmsMedia retornará ERROR_BUSY. Para iniciar a operação de ejeção física, o aplicativo pode usar NTMS_EJECT_START com a última ID de mídia ou NULL.

Se a mídia estiver atualmente em uso (montada ou aberta), essa função retornará um erro.

Se a biblioteca não tiver uma porta, use a função AccessNtmsLibraryDoor para inserir e ejetar mídia.

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

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

InjectNtmsMedia

Funções de controle de biblioteca