sn0w
Гость
|
|
« : 13-09-2005 14:36 » |
|
Здрасьте! я новичок, а поэтому возможно и задаю глупый вопрос) Есть обычный драйвер, используемый для фильтра трафика в винНТ. я его приспособил для ведения статистики. на глобальном уровне в драйвере объявлено 2 переменные UINT, одна - кол-ва принятых данных, а вторая - отосланных. как обычно в ответ на IOCTL она копировала данные из драйвера в буфер юзера: RtlCopyMemory(pUsrBuff, &g_uiTotalSent, sizeof(UINT)); RtlCopyMemory((LPBYTE)pUsrBuff+sizeof(UINT), &g_uiTotalRecv, sizeof(UINT)); а вызывающее приложение соответственно вытаскивало эти значения. все было хорошо до тех пор, пока я не изменил UINT на UINT64 (и в драйвере и в приложении), после чего пошли непомерные баги: одно значение всегда было нулем, а второе - какойто запредельной величиной. может нужно какието опции в build?
|