Re: Тип подключаемого диска.
От: dimb Россия  
Дата: 04.07.08 08:59
Оценка:
Здравствуйте, 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;
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.