|
|
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
в чем тут дело? Код: plaintext 1. Dnsapi.lib и windns.h, вроде все как полагается, к тому же ф-ия DnsQuery() в этом же модуле чувствует себя отлично.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2007, 11:46:40 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
Похоже на косяк в заголовке. DnsValidateName_* в библиотеке реализованы как __stdcall, но в прототипе этого нет. Нужно или включить глобально использование __stdcall (после чего скорее всего полетит еще куча вещей, но, видимо,именно так делают в MS), или поправить заголовок, добавив WINAPI в объявление DnsValidateName_*: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2007, 12:51:54 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
terasПохоже на косяк в заголовке. DnsValidateName_* в библиотеке реализованы как __stdcall, но в прототипе этого нет. Нужно или включить глобально использование __stdcall (после чего скорее всего полетит еще куча вещей, но, видимо,именно так делают в MS), или поправить заголовок, добавив WINAPI в объявление DnsValidateName_*: Код: plaintext 1. 2. 3. 4. 5. 6. Спасибо, добавил WINAPI в WinDNS.h и все ок. Хотя наверно так делать не есть хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2007, 13:08:13 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
TubrikХотя наверно так делать не есть хорошо. Наверняка исправят в следующих версиях. А если не хочется править чужие исходники - можно пользовать препроцессор: mydns.h: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2007, 18:09:27 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
не могу сообразить, как использовать последний приведенный вами код ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 15:14:46 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
Tubrikне могу сообразить, как использовать последний приведенный вами код ( Закинуть в головной файл и подключать его вместо windns.h. Первая проверка (#if WINVER > 0x0501) сделана для того, чтобы не забыть проверить на корректное объявление в будущих версиях SDK и отключить хак прототипа. Затем подключается оригинальный хидер, но прототип функции DnsValidateName_A переименовывается в прототип DnsValidateName_A_WRONG. После этого описывается правильный прототип для DnsValidateName_A. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 17:09:30 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
teras Tubrikне могу сообразить, как использовать последний приведенный вами код ( Закинуть в головной файл и подключать его вместо windns.h. Первая проверка (#if WINVER > 0x0501) сделана для того, чтобы не забыть проверить на корректное объявление в будущих версиях SDK и отключить хак прототипа. Затем подключается оригинальный хидер, но прототип функции DnsValidateName_A переименовывается в прототип DnsValidateName_A_WRONG. После этого описывается правильный прототип для DnsValidateName_A. Именно так и делал, но что-то действует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 17:19:09 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
TubrikИменно так и делал, но что-то действует. Не скажу, что понял о чем вы. Возможно, вы забыли extern "C" {} вокруг заголовка, или перед функцией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 17:39:59 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
авторЗакинуть в головной файл и подключать его вместо windns.h. Имел ввиду, что сделал так.. авторВозможно, вы забыли extern "C" {} вокруг заголовка, или перед функцией? Где именно нужно поставить extern "C" {} ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 17:46:25 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
Код: 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. Или Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 18:05:37 |
|
||
|
DnsValidateName()
|
|||
|---|---|---|---|
|
#18+
все работает, спасибо только допер как работает эта манипуляция: Код: plaintext 1. 2. 3. 4. 5. гениально, сам бы ни за что не догадался) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2007, 18:23:34 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=279&tid=2028263]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 344ms |

| 0 / 0 |
