IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME consente ai client del gestore di montaggio, ad esempio driver di dispositivo o volume, di suggerire una lettera di unità o un nome di collegamento per i volumi associati.
Il supporto per questo IOCTL dai client di gestione montaggio è facoltativo.
Codice principale
Buffer di input
Nessuno.
Lunghezza del buffer di input
Nessuno.
Buffer di output
Il driver client deve inserire una struttura a lunghezza variabile di tipo MOUNTDEV_SUGGESTED_LINK_NAME all'inizio del buffer in Irp-AssociatedIrp.SystemBuffer>. Il driver client deve inserire il nome permanente suggerito nell'indirizzo a cui punta il membro Name di questa struttura.
Lunghezza del buffer di output
Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O di IRP indica le dimensioni, in byte, del buffer di output, che devono essere maggiori o uguali a sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)
.
Buffer di input/output
N/D
Lunghezza del buffer di input/output
N/D
Blocco dello stato
Se l'operazione ha esito positivo, il campo Informazioni viene impostato sul numero totale di byte restituiti e il campo Stato è impostato su STATUS_SUCCESS.
Se OutputBufferLength è minore di sizeof(MOUNTDEV_SUGGESTED_LINK_NAME), il campo Stato viene impostato su STATUS_INVALID_PARAMETER.
Se OutputBufferLength è minore della lunghezza totale dei dati di output, il campo Stato viene impostato su STATUS_BUFFER_OVERFLOW e il campo Informazioni è impostato su sizeof(MOUNTDEV_SUGGESTED_LINK_NAME).
Commenti
Alcuni client di gestione montaggio sono in grado di tenere traccia delle lettere di unità tra i riavvii del sistema senza l'aiuto del gestore di montaggio. Tali client possono inviare un nome di lettera di unità suggerita al gestore di montaggio in risposta a questo IOCTL. Il gestore di montaggio usa il nome suggerito se il database del gestore di montaggio non contiene già un nome di lettera di unità persistente per il volume del client. In caso contrario, ignora il suggerimento e usa il nome della lettera di unità nel database del nome permanente.
I nomi delle lettere di unità devono includere il percorso completo del collegamento simbolico nello spazio dei nomi degli oggetti e devono avere la sintassi MS-DOS tradizionale. Ad esempio, la lettera di unità "D" deve essere rappresentata in questo modo: "\DosDevices\D:". Percorso di collegamento simbolico alternativo di "?? \D:" non può essere usato né abbreviazioni del collegamento simbolico, ad esempio "D:".
L'implementatore di questa funzione non deve eseguire la sincronizzazione dei thread e non deve eseguire chiamate di funzione IPC (Interprocess Communication).
Per altre informazioni, vedere Supporto delle richieste di Mount Manager in un driver di classe di archiviazione.
Requisiti
Requisito | Valore |
---|---|
Intestazione | mountdev.h (include Mountdev.h) |