Всем доброго времени суток. IOCTL_VOLUME_LOGICAL_TO_PHYSICAL отображает смещение относительно логического диска в смещение относительно физического диска. и возвращает что-то вроде - for disk \\.\f (offset = 0) kd> dt -b _VOLUME_PHYSICAL_OFFSETS 0xff593000 +0x000 NumberOfPhysicalOffsets : 1 +0x008 PhysicalOffset : [00] _VOLUME_PHYSICAL_OFFSET +0x000 DiskNumber : 1 +0x008 Offset : 49351680 тоесть - номер диска. Вопрос - как по номеру диска получить _device_object ? По моим наблюдениям , это всегда для номера N = \\.\physicaldriveN. Так ли это?
и кстати, IOCTL_VOLUME_LOGICAL_TO_PHYSICAL - есть только под хр. Может знает кто, чем можно воспользоваться под w2k для достижения того же эффекта?
IOCTL_STORAGE_GET_DEVICE_NUMBER + чтение MBR диска. Не будет работать только с динамическими и GPT дискамию