Funzione MountNtmsMedia (ntmsapi.h)
[Gestione archiviazione rimovibile non è più disponibile a partire da Windows 7 e Windows Server 2008 R2.]
La funzione MountNtmsMedia monta in modo sincrono uno o più supporti.
Sintassi
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
);
Parametri
[in] hSession
Handle alla sessione restituita dalla funzione OpenNtmsSession .
[in] lpMediaId
Matrice di identificatori univoci di supporti logici o lati.
[in, out] lpDriveId
Matrice di identificatori di unità che corrisponde all'elenco di supporti nel parametro lpMediaId . Questa matrice specifica un elenco di unità da montare in o riceve l'elenco di unità montate nel completamento dell'operazione. Vedere il valore NTMS_MOUNT_SPECIFIC_DRIVE riportato di seguito. Se la funzione MountNtmsMedia si verifica un timeout prima del completamento del montaggio, RSM non restituisce l'elenco delle unità.
[in] dwCount
Numero di identificatori multimediali e identificatori di unità passati nei parametri lpMediaId e lpDriveId . Si noti che lpMediaId e lpDriveId devono puntare al primo elemento di matrici di lunghezza uguale.
[in] dwOptions
Opzioni. Questo parametro può essere uno o più dei valori seguenti.
[in] dwPriority
Priorità del montaggio usato da RSM per consentire l'accesso alle unità. Le priorità vanno da -15 a 15, con 15 la priorità più alta e 0 è l'impostazione predefinita. Questo parametro può anche accettare una delle costanti seguenti. Un'applicazione deve passare NTMS_PRIORITY_NORMAL a meno che non sia necessaria una priorità di montaggio speciale.
[in] dwTimeout
Tempo massimo consentito per montare il supporto specificato, in millisecondi. Impostare questo parametro su INFINITE per attendere il completamento del montaggio.
lpMountInformation
Questo parametro è riservato e deve essere NULL.
Valore restituito
Questa funzione restituisce uno dei valori seguenti.
Valore | Significato |
---|---|
|
NTMS_USE_ACCESS al pool di supporti o alla libreria che contiene il supporto viene negato; altri errori di sicurezza sono anche possibili, ma indicano un errore del sottosistema di sicurezza. |
|
I supporti o le unità sono occupati. |
|
La richiesta è stata annullata dalla funzione CloseNtmsSession . |
|
Il database è inaccessibile o danneggiato. |
|
Il database è completo. |
|
I supporti e l'unità specificati non sono nella stessa libreria. |
|
Almeno una delle unità specificate non è valida. |
|
La libreria che contiene le unità o i supporti non è valida. |
|
Uno o più supporti specificati non sono validi oppure sono presenti ID multimediali duplicati nell'elenco dei supporti. |
|
Si è verificato uno stato multimediale o dispositivo imprevisto durante il montaggio. |
|
Il supporto è offline e non può essere montato. |
|
Si è verificato un errore di allocazione della memoria durante l'elaborazione. |
|
L'utente ha annullato la richiesta tramite l'interfaccia utente. |
|
Una o più risorse necessarie per eseguire il montaggio sono disabilitate. |
|
Il supporto è stato montato ed è pronto per l'uso. |
|
L'evento di timeout è scaduto durante il tentativo di acquisire una o più risorse necessarie. La richiesta di montaggio è stata annullata. |
|
Lo stato multimediale è impostato su Complete e il valore NTMS_MOUNT_WRITE è stato specificato. |
Commenti
La funzione MountNtmsMedia accoda una richiesta di montaggio del supporto specificato, quindi attende il numero di millisecondi specificati nel parametro dwTimeout per il completamento del montaggio o per il rilevamento di un errore. Se RSM non riesce a completare l'operazione di montaggio prima della scadenza di dwTimeout , NTMS annulla la richiesta e restituisce un errore. Se il supporto specificato si trova in una libreria offline, l'applicazione potrebbe essere bloccata per un periodo di tempo esteso. È possibile usare la funzione GetNtmsObjectInformation per determinare la posizione corrente del supporto specificato. È anche possibile usare il valore NTMS_MOUNT_ERROR_OFFLINE per generare un errore immediato anziché una richiesta di operatore quando il supporto è offline.
Se il supporto specificato è in uso o un'unità non è disponibile, il processo blocca fino al valore di timeout e restituisce ERROR_BUSY. Se viene specificato il valore NTMS_MOUNT_ERROR_NOT_AVAILABLE, la funzione restituisce un errore immediato quando una risorsa (supporto o unità) non è disponibile.
Il valore di timeout di INFINITE può essere usato per rendere la funzione in attesa senza timeout. Quando viene specificato un valore di timeout diverso da zero nel parametro dwTimeout , RSM attende che tutti i supporti specificati in lpMediaId vengano montati. Se il tempo specificato è trascorso prima che tutti i supporti vengano montati, la funzione MountNtmsMedia restituisce un errore e annulla la richiesta. L'applicazione può esaminare lo stato restituito e inviare di nuovo la richiesta, se necessario.
Quando vengono specificati più supporti da montare con una singola chiamata, tutti i supporti specificati devono trovarsi in una singola libreria. Se uno dei supporti specificati è offline, nessuno dei supporti verrà montato fino a quando tutti i supporti non saranno online.
Al completamento del montaggio lo stato dell'unità (ad esempio, la modalità di correzione o variabile) non è definito. L'applicazione deve configurare l'unità.
La funzione CloseNtmsSession può essere usata per annullare un montaggio in sospeso. Il comportamento predefinito è:
- Se il supporto specificato è offline, RSM invia una richiesta di operatore per montare il supporto e la funzione MountNtmsMedia attende il periodo di tempo specificato nel parametro dwTimeout .
- Se il supporto specificato è online, RSM richiede il montaggio.
- Se un'unità o un supporto non è disponibile, RSM invia la richiesta e la funzione MountNtmsMedia attende il periodo di tempo specificato nel parametro dwTimeout .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ntmsapi.h |
Libreria | Ntmsapi.lib |
DLL | Ntmsapi.dll |