IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_UNIQUE_ID ruft einen eindeutigen Bezeichner für ein Gerät oder Volume ab.
Mount Manager-Clients müssen diese IOCTL unterstützen. Beim Empfang dieses IOCTL muss der Bereitstellungs-Manager-Client einen gezählten Bytezeichenfolgenbezeichner bereitstellen, der für den Client eindeutig ist (d. h. das Gerät oder das Volume).
Hauptcode
Eingabepuffer
Nichts.
Eingabepufferlänge
Nichts.
Ausgabepuffer
Die Geräteklasse oder der Volumetreiber gibt die MOUNTDEV_UNIQUE_ID Struktur im Puffer bei Irp->AssociatedIrp.SystemBufferzurück.
Länge des Ausgabepuffers
Parameters.DeviceIoControl.OutputBufferLength in der I/O-Stapelposition des IRP gibt die Größe des Ausgabepuffers in Bytes an, die größer oder gleich sizeof(MOUNTDEV_UNIQUE_ID)
sein muss.
Eingabe-/Ausgabepuffer
N/A
Länge des Eingabe-/Ausgabepuffers
N/A
Statusblock
Das feld Information wird auf FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output->UniqueIdLength festgelegt; oder alternativ zur Sizeof(USHORT) + output->UniqueIdLength, wobei die Ausgabe auf den Puffer bei Irp->AssociatedIrp.SystemBufferzeigt.
Bemerkungen
Der Implementierer dieser Funktion darf keine Threadsynchronisierung durchführen und darf keine Blockierungs- und/oder Interprocess Communication (IPC)-Funktionsaufrufe durchführen.
Weitere Informationen finden Sie unter Unterstützen von Mount Manager-Anforderungen in einem Speicherklassentreiber.
Anforderungen
Anforderung | Wert |
---|---|
Header- | mountdev.h (include Mountdev.h) |