IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

Il supporto per questo IOCTL da parte dei client di gestione montaggio è obbligatorio. Dopo aver ricevuto questo IOCTL, il client di gestione montaggio deve fornire un identificatore stringa di byte conteggiato univoco per il client, ovvero il dispositivo o il volume. Il client non può modificare questo ID univoco senza avvisare la gestione montaggio (vedere IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di output

La classe di dispositivo o il driver del volume restituisce la struttura MOUNTDEV_UNIQUE_ID nel buffer in Irp-AssociatedIrp.SystemBuffer>.

Lunghezza del buffer di output

Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O dell'IRP indica le dimensioni, in byte, del buffer di output, che deve essere maggiore o uguale a sizeof(MOUNTDEV_UNIQUE_ID).

Blocco dello stato

Il campo Information è impostato su FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output-UniqueIdLength o in alternativa a sizeof(USHORT) + output-UniqueIdLength, dove l'output punta al buffer in Irp-AssociatedIrp.SystemBuffer>>>.

Commenti

L'implementazione di questa funzione non deve sincronizzare il thread e non deve eseguire chiamate di funzione IPC (Interprocess Communication) e/o blocco.

Requisiti

Requisito Valore
Intestazione mountdev.h (include Mountdev.h)

Vedi anche

IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY

MOUNTDEV_UNIQUE_ID