87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|||||||||||
1 | |||||||||||
Хочу именованный virtual12.10.2015, 19:31. Показов 1266. Ответов 9
Метки нет (Все метки)
Приветствую!
WinAPI InitSecurityInterface() возвращает указатель на структуру, где почти каждое поле - указатель на функцию. Теперь мне надо вызвать одну из этих функций. Например, EncryptMessage(). Я пишу:
В MASM достаточно было бы написать call (SECURITY_FUNCTION_TABLE ptr [какой_хошь_адрес]).EncriptMessage, единожды описав структуру SECURITY_FUNCTION_TABLE. Очевидно, что должен быть красивый способ решения задачи и в FASM, но я его не знаю.
0
|
12.10.2015, 19:31 | |
Ответы с готовыми решениями:
9
Почему ДВССЫЛ на простой именованный диапазон работает, а на динамический именованный не работает? Именованный не именованный каналы Protected abstract virtual base pure virtual private destructor Именованный диапазон |
Эксперт быдлокодинга
2093 / 527 / 70
Регистрация: 04.11.2010
Сообщений: 1,313
|
|
14.10.2015, 15:52 | 2 |
Разве нельзя создать структуру и указать её при вызове InitSecurityInterface, а после пользовать её когда понадобится?
0
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|
15.10.2015, 18:18 [ТС] | 3 |
InitSecurityInterface возвращает лишь указатель на структуру.
0
|
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
|
|
15.10.2015, 21:00 | 4 |
mytilus, перемести ее себе в дату.
0
|
Эксперт быдлокодинга
2093 / 527 / 70
Регистрация: 04.11.2010
Сообщений: 1,313
|
|
15.10.2015, 21:45 | 5 |
Мотороллер, если верить https://msdn.microsoft.com у этой функции нет параметров. Т.е. как я понимаю повлиять на адрес структуры в принципе нельзя. Но тогда мне становится непонятным вот это
0
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|
15.10.2015, 21:55 [ТС] | 6 |
Ну, смотрите. Получил я, значит, этот указатель. Он сейчас в регистре RAX. Я сохраняю его в data на будущее. И в этом будущем я буду читать указатель из data. Но сейчас он в RAX, и для скорости я обращаюсь к полю структуры не data+offset, а RAX+offset. То есть мне нужно два virtual - at rax сейчас и at data в будущем. Или я что-то не догоняю (просто на FASM перешел буквально на днях)?
0
|
Эксперт быдлокодинга
2093 / 527 / 70
Регистрация: 04.11.2010
Сообщений: 1,313
|
|
15.10.2015, 22:00 | 7 |
mytilus, ну я вообще
0
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|
16.10.2015, 01:11 [ТС] | 8 |
В регистре хранить не получится, хотя очень хотелось бы. Мне к этой структуре нужен доступ из других потоков.
0
|
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
|
|||||||||||
16.10.2015, 08:53 | 9 | ||||||||||
mytilus, дак я же пишу - переместите себе структуру в дату.
а потом вызывать функции из нее как
0
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|||||||||||||||||||||
16.10.2015, 18:57 [ТС] | 10 | ||||||||||||||||||||
Мотороллер, я Вашу идею понял. Но есть один маленький нюанс. Если я пишу на asm, то беру на себя обязательства по наиполнейшей оптимизации кода. Все-таки конечный результат должен выглядеть так:
Хотя... Сейчас посмотрел на свой код и понял, что
Добавлено через 4 часа 34 минуты Нет! Я уже сам запутался в том, что мне нужно. А нужно, чтобы было так:
0
|
16.10.2015, 18:57 | |
16.10.2015, 18:57 | |
Помогаю со студенческими работами здесь
10
Записать в именованный канал Именованный конструктор + inline Именованный каналы (FIFO) Чат через именованный Pipe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |