|
Указатели
|
|||
---|---|---|---|
#18+
Добрый день, подскажите по теме указателей, что-то до меня не доходит. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
ругается на void* v_patch=(string*)&v_str; "Невозможно получить адрес, определить размер или объявить указатель на управляемый тип ("string") ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2014, 10:05 |
|
Указатели
|
|||
---|---|---|---|
#18+
Библиотека написано не мной и она принимает указатели. Переписать ее нет возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 01:49 |
|
Указатели
|
|||
---|---|---|---|
#18+
INFINITsругается на void* v_patch=(string*)&v_str; "Невозможно получить адрес, определить размер или объявить указатель на управляемый тип ("string") Тут: Pointer types (C# Programming Guide)In an unsafe context, a type may be a pointer type, a value type, or a reference type. A pointer type declaration takes one of the following forms: Код: c# 1. 2.
Any of the following types may be a pointer type: sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, or bool. Any enum type. Any pointer type. Any user-defined struct type that contains fields of unmanaged types only. Pointer types do not inherit from object and no conversions exist between pointer types and object. Also, boxing and unboxing do not support pointers. However, you can convert between different pointer types and between pointer types and integral types. Заодно почитайте и посмотрите примеры тут - Platform Invoke Tutorial INFINITsБиблиотека написано не мной и она принимает указатели. Переписать ее нет возможности.А показать "оригинальную" сигнатуру? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 02:55 |
|
Указатели
|
|||
---|---|---|---|
#18+
sphinx_mv, Спасибо почитаю, надеюсь разберусь. авторА показать "оригинальную" сигнатуру? У меня имеется только dll и описание Функция AddRecipient добавляет получателя зашифрованных данных к заданному контексту шифрования. MPFUN int MPAPI AddRecipient( void *CTX, int Type, void *Param1, void *Param2 ); Параметры CTX [in] Указатель на контекст, созданный функцией GetCipherCTX. Type [in] Определяет способ задания получателя. BY_FILE - Абонент задается именем файла сертификата в параметре Param1, параметр Param2 не используется. Param1 [in] См. описание параметра Type. Param2 [in] См. описание параметра Type. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 03:38 |
|
Указатели
|
|||
---|---|---|---|
#18+
Переделал. Просьба оценить корректность. И кому несложно слегка объяснить, недоконца понимаю, ведь библиотека на Си принимает указатель. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 09:03 |
|
Указатели
|
|||
---|---|---|---|
#18+
INFINITssphinx_mv, Спасибо почитаю, надеюсь разберусь. авторА показать "оригинальную" сигнатуру? У меня имеется только dll и описание Функция AddRecipient добавляет получателя зашифрованных данных к заданному контексту шифрования. MPFUN int MPAPI AddRecipient( void *CTX, int Type, void *Param1, void *Param2 ); Параметры CTX [in] Указатель на контекст, созданный функцией GetCipherCTX. Type [in] Определяет способ задания получателя. BY_FILE - Абонент задается именем файла сертификата в параметре Param1, параметр Param2 не используется. Param1 [in] См. описание параметра Type. Param2 [in] См. описание параметра Type. Это что, MessagePro? там вроде все проще, через Marshal и иже с ним. void* - это IntPtr ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 13:04 |
|
Указатели
|
|||
---|---|---|---|
#18+
INFINITsБиблиотека написано не мной и она принимает указатели. Переписать ее нет возможности.И что это меняет? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2014, 16:33 |
|
Указатели
|
|||
---|---|---|---|
#18+
Arm79Это что, MessagePro? там вроде все проще, через Marshal и иже с ним. void* - это IntPtr Т.е. мой второй пример вполне корректный, так можно писать? Алексей КИ что это меняет? Это было сказано, чтобы не было предложений ее переписать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2014, 08:25 |
|
Указатели
|
|||
---|---|---|---|
#18+
INFINITsАлексей КИ что это меняет? Это было сказано, чтобы не было предложений ее переписать.Дано две ссылки на .Net Platform Invoke, на русском и английском, как удобнее. Необходимость применения указателей на дотнетной стороне в этой задаче маловероятна. Переписывать ничего не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2014, 17:41 |
|
Указатели
|
|||
---|---|---|---|
#18+
INFINITs, Чуть-чуть рабочего кода для MessagePro Код: c# 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2014, 10:16 |
|
|
start [/forum/moderation_log.php?user_name=ksenia123]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 561ms |
total: | 744ms |
0 / 0 |