IOCTL_MOUNTDEV_QUERY_UNIQUE_ID IOCTL (mountdev.h)

O suporte para esse IOCTL por clientes do gerenciador de montagem é obrigatório. Ao receber esse IOCTL, o cliente do gerenciador de montagem deve fornecer um identificador de cadeia de caracteres de bytes contado que seja exclusivo para o cliente (ou seja, o dispositivo ou o volume). O cliente não pode alterar essa ID exclusiva sem alertar o gerenciador de montagem (consulte IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY).

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de saída

A classe de dispositivo ou o driver de volume retorna a estrutura MOUNTDEV_UNIQUE_ID no buffer em Irp-AssociatedIrp.SystemBuffer>.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de saída, que deve ser maior ou igual a sizeof(MOUNTDEV_UNIQUE_ID).

Bloco de status

O campo Informações é definido como FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + output-UniqueIdLength>; ou, alternativamente, como sizeof(USHORT) + output-UniqueIdLength>, em que a saída aponta para o buffer em Irp-AssociatedIrp.SystemBuffer>.

Comentários

O implementador dessa função não deve ser sincronizado por thread e não deve fazer chamadas de função de bloqueio e/ou comunicação entre processos (IPC).

Requisitos

Requisito Valor
Cabeçalho mountdev.h (inclua Mountdev.h)

Confira também

IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY

MOUNTDEV_UNIQUE_ID