Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Исходное определение из доков такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Я декларирую свою API так (воспользоваться исходной сразу из .Net не могу, т.к. .Net файлы не прошиваются защитой, при которой исходные API работают) Код: plaintext 1. 2. 3. 4. Вроде все компилируется. Использовать пытаюсь так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Что получается: ModeId As Byte -возвращает правильно Первый Boolean IsRegistered As Boolean -тоже вроде как правильно А вот остальные Boolean (что ниже первого начиная с IsKeyPresent) -всегда False, что не соответствует действительности, пробовал генерировать ключи для неправильных HardwareID и с истекшим сроком. Где накосячил? Либо PMODE_STATUS на стороне C/C++ не так передаю, либо со структурой на стороне VB.Net накосячил. Честно, мне не ясно почему после BYTE ModeId; стоит точка с запятой, а bool один раз и между остальными параметрами запятые, по идее структуру в VB вроде правильно написал. М.б. конечно разработчики исходной ф-ции накосячили... Примеров по этой ф-ции даже для VB6 что-то не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:32 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Где накосячил? Какой размер у Boolean в VB и у bool в С? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:37 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Нашел таки в примерах для VB6 определения: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Так что если где-то и накосячил, то здесь: Код: plaintext 1. 2. 3. 4. Мож какие * -ки и/ли & -ды для ModeStatus понаставить, туплю(С) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:39 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovДмитрий77Где накосячил? Какой размер у Boolean в VB и у bool в С? Намекаешь на то что в C все 7 параметров в единственный байт запихнуты? Ну, может тогда тупо ByRef все эти 7 параметров возвращать по отдельности, без структуры в VB.Net? Раскладывая на стороне C? В .Net наверно как-то можно извернуться, но рука особо не набита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:48 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Намекаешь на то что в C все 7 параметров в единственный байт запихнуты? Нет, на стороне С они как раз каждый в своём байте. А вот какая двоичная раскладка у твоей структур в VB - мне неизвестно. Выведи её суммарный размер и сравни с размером этой же структуры в С. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:56 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Dimitry Sibiryakovпропущено... Какой размер у Boolean в VB и у bool в С? Намекаешь на то что в C все 7 параметров в единственный байт запихнуты? Намекает на то что размер bool не определен стандартом и зависит от имплементации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 20:20 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Короче вопрос решается на стороне .Net: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.unmanagedtype(v=vs.80).aspx I1 A 1-byte signed integer. You can use this member to transform a Boolean value into a 1-byte, C-style bool (true = 1, false = 0). Добрый человек подсказал . Что до VB6 такое по простому видимо не сделаешь, но оно и не надо, т.к. 1) в VB6 работают исходные API без c-dll (.Net файлы не прошиваются защитой) 2) мне нужен именно .Net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 01:09 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
Dimitry bool в С нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 08:31 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Я не знаю. Ты ж знаешь что я не спец по вашему языку. Вот полный файл из AsProtect32 Sky который они дают. В структуре bool маленькими буквами. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. но есть еще Код: plaintext 1. мож оно там где-то сидит. Короче заработало и чудненько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 08:42 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
MasterZivbool в С нетесть же, вроде, давно уже ввели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 10:52 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
egorychMasterZivbool в С нетесть же, вроде, давно уже ввели.В С++ есть. В Си - нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 15:44 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
egorychMasterZivbool в С нетесть же, вроде, давно уже ввели. Там boolean. Или Bool. не помню даже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 17:35 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
в WINAPI Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 17:54 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
В C есть тип _Bool и заголовок stdbool.h с макросами: bool, true, false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 22:35 |
|
||
|
Делаю свою API на базе другой API, чтоб воспользоваться из .Net,и структура не заполняется
|
|||
|---|---|---|---|
|
#18+
ЗанудныйВ C есть тип _Bool и заголовок stdbool.h с макросами: bool, true, falseНе путай типы определенные в языке с макросами определенными в стандартной библиотеке. И будет тебе щастье и будешь знать что _Bool уже никто давно не использует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 22:57 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38993062&tid=2018936]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 155ms |

| 0 / 0 |
