Цитата(VslavX @ Feb 7 2010, 00:51)

Э-э-э-э, а с порядком байтов у Вас ничего не напутано случайно?
Точно! Здесь и порылась собака. Получается, я отправляю каждый DWORD в прямом порядке, а нужно в обратном.
Объясню на примере.
Короче получается, что значение всех полей по документации
#define REMOTE_NDIS_INITIALIZE_CMPLT 0X80000002
на самом деле нужно переворачивать вот так
#define REMOTE_NDIS_INITIALIZE_CMPLT 0X02000080
и передавать.
Получаю также в перевернутом виде.
Не могу понять почему так?
И нужно ли менять последовательность байт в DWORD в остальных полях???
Пример.
1) Хост передает:
REMOTE_NDIS_INITIALIZE_MSG (Size 24 bytes):
00000000 02 00 00 00 ....
00000004 18 00 00 00 ....
00000008 02 00 00 00 ....
0000000C 01 00 00 00 ....
00000010 00 00 00 00 ....
00000014 00 40 00 00 .@..
2) Хост принимает:
REMOTE_NDIS_INITIALIZE_CMPLT(Size 52 bytes):
а) так не верно
00000000 80 00 00 02 €...
00000004 00 00 00 34 ...4
00000008 02 00 00 00 ....
0000000C 00 00 00 00 ....
00000010 00 00 00 01 ....
00000014 00 00 00 01 ....
00000018 00 00 00 01 ....
0000001C 00 00 00 00 ....
00000020 00 00 00 01 ....
00000024 00 00 05 3A ...:
00000028 00 00 00 03 ....
0000002C 00 00 00 00 ....
00000030 00 00 00 00 ....
б) так операция success
00000000 02 00 00 80 ...€
00000004 00 00 00 34 ...4
00000008 02 00 00 00 ....
0000000C 00 00 00 00 ....
00000010 00 00 00 01 ....
00000014 00 00 00 01 ....
00000018 01 00 00 00 ....
0000001C 00 00 00 00 ....
00000020 00 00 00 01 ....
00000024 00 00 05 3A ...:
00000028 00 00 00 03 ....
0000002C 00 00 00 00 ....
00000030 00 00 00 00 ....
Но как будет верно?
Также хост передал REMOTE_NDIS_QUERY_MSG.
Таким образом дело дошло до сообщения REMOTE_NDIS_HALT_MSG.
И на это всё. На REMOTE_NDIS_HALT_MSG я никак не реагирую и ничего не делаю.