flat assembler
Message board for the users of flat assembler.
Index
> Main > Redefine Structure's address by code |
Author |
|
Roman 19 May 2021, 15:43
Не понятно.
Что ты подразумеваешь ? |
|||
19 May 2021, 15:43 |
|
Overclick 19 May 2021, 15:55
Quote:
Подразумеваю, что если есть некая объявленная структура, с присвоенным уже в Дата адресом, то внешние функции могут менять этот адрес, например на тот, что винда сама определяет, как затребованную структуру. А вот самостоятельно переназначить адрес Структуры я не могу, компилятор ругается. |
|||
19 May 2021, 15:55 |
|
Roman 19 May 2021, 16:19
Может как указатель ?
ptrVarName dd VarName1 VarName1 PROPVARIANT VarName2 PROPVARIANT |
|||
19 May 2021, 16:19 |
|
Overclick 19 May 2021, 16:31
Так я могу и не париться совсем, а обращаться к адресу с топологией структуры
[rsi+PROPVARIANT.blob.pBlobData] Вопрос был именно о переназначении внутреннего указателя самой структуры, как это работает при вызове внешних функций. |
|||
19 May 2021, 16:31 |
|
Roman 19 May 2021, 16:36
Если ты можешь делать [rsi+PROPVARIANT.blob.pBlobData]
То не пойму что ты хочешь ?! Твоя функция cominvk pProps,GetValue,PKEY_AudioEngine_DeviceFormat,VarName тоже пишет в структуру VarName. |
|||
19 May 2021, 16:36 |
|
Overclick 19 May 2021, 16:45
Не хочу усложнять себе жизнь. Правда так и не понял, почему переадресация вообще работает? Ведь адреса заменяются на этапе компиляции, и первым элементом по данному адресу структуры, уже расположен первый элемент самой структуры. Но путем эксперимента, оно заработало, причем на разных функциях и интерфейсах, то есть вместо того, чтоб поместить адрес некой структуры в первые байты самой структуры, переадресовывается вся структура целиком и это очень удобно.
|
|||
19 May 2021, 16:45 |
|
Overclick 19 May 2021, 16:46
Quote:
After the IPropertyStore::GetValue method returns successfully, this parameter points to a PROPVARIANT structure that contains data about the property. Ну может я что-то и натупил конечно, сейчас пойду смотреть другие примеры |
|||
19 May 2021, 16:46 |
|
Overclick 19 May 2021, 16:53
Да, похоже на то, это не pointer to pointer variable
|
|||
19 May 2021, 16:53 |
|
revolution 19 May 2021, 17:28
VarName is just a number.
Code: VarName: ;this is just anumber mov VarName, 0 ;fails mov 6, 0 ;same thing without the name hiding the contents |
|||
19 May 2021, 17:28 |
|
Roman 19 May 2021, 17:30
Quote: Да, похоже на то, это не pointer to pointer variable Smile Of course. |
|||
19 May 2021, 17:30 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.