Share via


IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

Die Unterstützung für diese IOCTL durch Einbindungs-Manager-Clients ist obligatorisch. 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. Der Client kann diese eindeutige ID nicht ändern, ohne den Bereitstellungs-Manager zu benachrichtigen (siehe IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).

Hauptcode

IRP_MJ_DEVICE_CONTROL

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.

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.

Anforderungen

Anforderung Wert
Header mountdev.h (include Mountdev.h)

Weitere Informationen

IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY

MOUNTDEV_UNIQUE_ID