Função MountNtmsMedia (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 MountNtmsMedia monta de forma síncrona uma ou mais partes de mídia.
Sintaxe
DWORD MountNtmsMedia(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpMediaId,
[in, out] LPNTMS_GUID lpDriveId,
[in] DWORD dwCount,
[in] DWORD dwOptions,
[in] int dwPriority,
[in] DWORD dwTimeout,
LPNTMS_MOUNT_INFORMATION lpMountInformation
);
Parâmetros
[in] hSession
Identificador para a sessão retornada pela função OpenNtmsSession .
[in] lpMediaId
Matriz de identificadores exclusivos de mídia lógica ou lados.
[in, out] lpDriveId
Matriz de identificadores de unidade que corresponde à lista de mídias no parâmetro lpMediaId . Essa matriz especifica uma lista de unidades para montar mídia ou recebe a lista de unidades em que a mídia é montada na conclusão da operação. Veja o valor de NTMS_MOUNT_SPECIFIC_DRIVE abaixo. Se a função MountNtmsMedia atingir o tempo limite antes da conclusão da montagem, o RSM não retornará a lista de unidades.
[in] dwCount
Número de identificadores de mídia e identificadores de unidade passados nos parâmetros lpMediaId e lpDriveId . Observe que lpMediaId e lpDriveId devem apontar para o primeiro elemento de matrizes de comprimento igual.
[in] dwOptions
Opções. Esse parâmetro pode usar um dos valores a seguir.
[in] dwPriority
Prioridade da montagem usada pelo RSM para permitir o acesso a unidades. As prioridades variam de -15 a 15, com 15 a prioridade mais alta e 0 é o padrão. Esse parâmetro também pode ter uma das seguintes constantes. Um aplicativo deve passar NTMS_PRIORITY_NORMAL, a menos que uma prioridade de montagem especial seja necessária.
[in] dwTimeout
Tempo máximo permitido para montar a mídia especificada, em milissegundos. Defina esse parâmetro como INFINITE para aguardar até que a montagem seja concluída.
lpMountInformation
Esse parâmetro é reservado e deve ser NULL.
Retornar valor
Essa função retorna um dos valores a seguir.
Valor | Significado |
---|---|
|
NTMS_USE_ACCESS ao pool de mídia ou à biblioteca que contém a mídia é negada; outros erros de segurança também são possíveis, mas indicam um erro de subsistema de segurança. |
|
A mídia ou as unidades estão ocupadas. |
|
A solicitação foi cancelada pela função CloseNtmsSession . |
|
O banco de dados está inacessível ou danificado. |
|
O banco de dados está cheio. |
|
A mídia e a unidade especificadas não estão na mesma biblioteca. |
|
Pelo menos uma das unidades especificadas não é válida. |
|
A biblioteca que contém as unidades ou mídia não é válida. |
|
Uma ou mais das mídias especificadas não são válidas ou há IDs de mídia duplicadas na lista de mídias. |
|
Ocorreu um estado inesperado de mídia ou dispositivo durante a montagem. |
|
A mídia está offline e não pode ser montada. |
|
Ocorreu uma falha de alocação de memória durante o processamento. |
|
O usuário cancelou a solicitação por meio da interface do usuário. |
|
Um ou mais recursos necessários para executar a montagem estão desabilitados. |
|
A mídia foi montada e está pronta para uso. |
|
O evento de tempo limite expirou ao tentar adquirir um ou mais recursos necessários. A solicitação de montagem foi cancelada. |
|
O estado da mídia é definido como Concluído e o valor de NTMS_MOUNT_WRITE foi especificado. |
Comentários
A função MountNtmsMedia enfileira uma solicitação para montar a mídia especificada e aguarda o número de milissegundos especificado no parâmetro dwTimeout para que a montagem seja concluída ou que um erro seja detectado. Se o RSM não puder concluir a operação de montagem antes que dwTimeout expire, o NTMS cancelará a solicitação e retornará um erro. Se a mídia especificada estiver em uma biblioteca offline, o aplicativo poderá ser bloqueado por um longo período de tempo. Você pode usar a função GetNtmsObjectInformation para determinar o local atual do meio especificado. Você também pode usar o valor NTMS_MOUNT_ERROR_OFFLINE para gerar um erro imediato em vez de uma solicitação de operador quando a mídia estiver offline.
Se o meio especificado estiver em uso ou uma unidade não estiver disponível, o processo bloqueará até o valor de tempo limite e retornará ERROR_BUSY. Se o valor NTMS_MOUNT_ERROR_NOT_AVAILABLE for especificado, a função retornará um erro imediato quando um recurso (mídia ou unidade) não estiver disponível.
O valor de tempo limite de INFINITE pode ser usado para fazer com que a função aguarde sem atingir o tempo limite. Quando um valor de tempo limite diferente de zero é especificado no parâmetro dwTimeout , o RSM aguarda que toda a mídia especificada em lpMediaId seja montada. Se o tempo especificado passar antes de toda a mídia ser montada, a função MountNtmsMedia retornará um erro e cancelará a solicitação. O aplicativo pode examinar o status retornado e reenviar a solicitação, se desejado.
Quando várias mídias a serem montadas são especificadas com uma única chamada, toda a mídia especificada deve estar em uma única biblioteca. Se qualquer uma das mídias especificadas estiver offline, nenhuma mídia será montada até que toda a mídia esteja online.
Na conclusão da montagem, o estado da unidade (por exemplo, correção ou modo variável) não está definido. O aplicativo deve configurar a unidade.
A função CloseNtmsSession pode ser usada para cancelar uma montagem pendente. O comportamento padrão é:
- Se o meio especificado estiver offline, o RSM postará uma solicitação de operador para montar a mídia e a função MountNtmsMedia aguardará o período de tempo especificado no parâmetro dwTimeout .
- Se o meio especificado estiver online, o RSM solicitará a montagem.
- Se uma unidade ou mídia não estiver disponível, o RSM enviará a solicitação e a função MountNtmsMedia aguardará o período de tempo especificado no parâmetro dwTimeout .
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 |