Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Эксперт WindowsАвтор FAQ
17637 / 7480 / 886
Регистрация: 25.12.2011
Сообщений: 11,261
Записей в блоге: 16
1

Перечень констант кодов управления для DeviceIoControl

21.03.2015, 21:44. Показов 1217. Ответов 6
Метки нет (Все метки)

Здравствуйте !

Подскажите, пожалуйста,
где я могу найти список значений констант?

Задача - узнать имя этой 0x9023C, скорее всего из группы Volume Management Control Codes.

Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2015, 21:44
Ответы с готовыми решениями:

Вывести перечень кластеров для файла
Доброго времени суток, форумчане. Помогите разобраться! Задача: Вывести перечень кластеров для...

перечень нужных програм для Ubuntu.
Перешел на Ubuntu., но повились проблемы. Нет тех повседневных програм которые нужны для...

Решение для глобальных констант
Есть БД и ее клиент. Данные получаю из БД с помощью функций. Клиент проверяет данные на...

Создайте перечень enum для заданных типов
Создайте перечень типа: страна = {Италия, Катар, Китай, Канада, Польша} континент = {Азия, Америка,...

6
900 / 420 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
21.03.2015, 22:14 2
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

Все они описаны в winioctl.h Вот 0x9023C:
C
1
#define FSCTL_QUERY_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 143, METHOD_BUFFERED, FILE_ANY_ACCESS)  // FILE_FS_PERSISTENT_VOLUME_INFORMATION
1
Эксперт WindowsАвтор FAQ
17637 / 7480 / 886
Регистрация: 25.12.2011
Сообщений: 11,261
Записей в блоге: 16
22.03.2015, 17:48  [ТС] 3
rao, спасибо. А можно еще ликбез?
Как исходя из заголовочного файла Вы определили, что эта константа соответствует моему значению
(вижу, что там она вычисляется математически).

C++
1
2
3
#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)
0
900 / 420 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
22.03.2015, 19:55 4
Да, правильно, по этому макросу: 0x9023C =
0x90000 - это DeviceType:
C
1
#define FILE_DEVICE_FILE_SYSTEM 0x00000009
0x0 - поле Access
0x23C - параметр Function. (т.е. сдвинутое на 2 бита 0x8F = 143)
1
Модератор
Эксперт по электронике
8469 / 6298 / 852
Регистрация: 14.02.2011
Сообщений: 21,841
22.03.2015, 20:02 5
Цитата Сообщение от Dragokas Посмотреть сообщение
Задача - узнать имя этой 0x9023C, скорее всего из группы Volume Management Control Codes.
в свое время в IDE я вручную их рассчитывал и записывал, благо всего десяток был
CTL_CODE это макрос как уже было отмечено
а сами волшебные числа описаны в
Цитата Сообщение от rao Посмотреть сообщение
winioctl.h
и в любой книге где более-менее подробно рассмотрен DeviceIOControl
1
0 / 0 / 0
Регистрация: 28.11.2016
Сообщений: 1
07.01.2018, 13:31 6
Приветствую! А мне с парой кодов не поможете? Возился по вашему примеру и никак не смог восстановить истину.) Коды следующие: 0x22003Ch и 0x223CD0h. Заранее спасибо!
0
138 / 138 / 53
Регистрация: 14.06.2016
Сообщений: 467
07.01.2018, 16:19 7
http://www.ioctls.net
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2018, 16:19

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Рассчитаем формулу для заданных констант:
Рассчитаем формулу для заданных констант: a=1.1; b=0.004; x=0.2;...

Cумма кодов четных символов равна сумме кодов нечетных
Даны два поля edit1 и edit2. и кнопка button1. Нужно чтобы при нажатии на кнопку, проверялось:...

Опубликован перечень основных факторов ранжирования для выдачи Bing
Компания SearchMetrics обнародовала итоги анализа значимости факторов ранжирования для поисковика...

API DeviceIoControl
В оригинальном коде с примером (рабочий код): WINBASEAPI BOOL WINAPI DeviceIoControl( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.