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 dieser IOCTL muss der Bereitstellungs-Manager-Client einen gezählten Bytezeichenfolgenbezeichner bereitstellen, der für den Client (d. h. das Gerät oder das Volume) eindeutig ist.
Hauptcode
Eingabepuffer
Keine.
Eingabepufferlänge
Keine.
Ausgabepuffer
Die Geräteklasse oder der Volumetreiber gibt die MOUNTDEV_UNIQUE_ID Struktur im Puffer bei Irp-AssociatedIrp.SystemBuffer> zurück.
Länge des Ausgabepuffers
Parameters.DeviceIoControl.OutputBufferLength in der E/A-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
–
Länge des Eingabe-/Ausgabepuffers
–
Statusblock
Das Feld Information ist auf FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output-UniqueIdLength> oder alternativ auf sizeof(USHORT) + output-UniqueIdLength> festgelegt, wobei die Ausgabe auf den Puffer bei Irp-AssociatedIrp.SystemBuffer> verweist.
Hinweise
Der Implementierer dieser Funktion darf keine Threadsynchronisierung durchführen und darf keine blockierenden und/oder IPC-Funktionsaufrufe (Interprocess Communication) ausführen.
Weitere Informationen finden Sie unter Unterstützung von Bereitstellungs-Manager-Anforderungen in einem Speicherklassentreiber.
Anforderungen
Anforderung | Wert |
---|---|
Header | mountdev.h (include Mountdev.h) |