IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)
Cria uma partição vazia para o objeto de dispositivo. Ele pode operar em um disco EFI ou em um disco MBR. Os parâmetros necessários para criar um disco vazio dependem do tipo de tabela de partição que será colocada no disco. Para obter mais informações, consulte CREATE_DISK.
Os drivers de disco enumeram partições como se fossem dispositivos filho. Assim, ao criar a nova partição, o driver de classe de disco notifica o gerenciador PnP por meio de uma chamada para IoInvalidateDeviceRelations de que o dispositivo de disco tem um novo dispositivo filho (partição).
Código principal
Buffer de entrada
O buffer em Irp-AssociatedIrp.SystemBuffer> contém os dados CREATE_DISK.
Comprimento do buffer de entrada
Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer disponibilizado para o driver, que deve ser >= sizeof(CREATE_DISK). Caso contrário, o driver retornará com um erro status de STATUS_INFO_LENGTH_MISMATCH.Buffer de saída
Nenhum.
Comprimento do buffer de saída
Nenhum.
Bloco de status
O campo Informações é definido como zero. O campo Status será definido como STATUS_SUCCESS se a operação tiver sido bem-sucedida. Outros valores possíveis de status são: STATUS_NOT_SUPPORTED se não houver suporte para o estilo de partição solicitado; STATUS_DEVICE_NOT_READY se o driver de classe não conseguiu recuperar a geometria do disco; e STATUS_INSUFFICIENT_RESOURCES se o driver de classe não conseguiu obter um recurso necessário, como memória de heap.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntdddisk.h (inclua Ntdddisk.h) |