Здравствуйте, Aniramap, Вы писали:
A>Пишу драйвер, который подключает виртуальный диск. Когда происходит Маунт диска, диск появляется, как "Съмное устройство". А как сделать так, чтобы подключаемый диск появлялся в системе, как "Логический диск"?
Логично было бы задать вопрос в форуме "Низкоуровневое программирование".
Обратите внимание ещё на запросы: IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_STORAGE_GET_HOTPLUG_INFO.
У меня для запроса IOCTL_STORAGE_GET_HOTPLUG_INFO код такой (хотя у меня как раз Removable диск):
case IOCTL_STORAGE_GET_HOTPLUG_INFO:
{
if (ioStackLocation->Parameters.DeviceIoControl.OutputBufferLength < sizeof(STORAGE_HOTPLUG_INFO))
{
Irp->IoStatus.Information = sizeof(STORAGE_HOTPLUG_INFO);
status = STATUS_BUFFER_TOO_SMALL;
}
else
{
PSTORAGE_HOTPLUG_INFO info;
info = Irp->AssociatedIrp.SystemBuffer;
info->Size = sizeof(STORAGE_HOTPLUG_INFO);
info->MediaRemovable = TRUE;
info->MediaHotplug = TRUE;
info->DeviceHotplug = TRUE;
info->WriteCacheEnableOverride = FALSE;
Irp->IoStatus.Information = sizeof(STORAGE_HOTPLUG_INFO);
status = STATUS_SUCCESS;
}
break;
}