2012-02-02 2 views
1

Я прохожу через цепочку MDL NET_BUFFER, чтобы получить связанные данные. Два макроса, которые используются, чтобы указать, где находится место для хранения данных (NET_BUFFER_DATA_OFFSET() & NET_BUFFER_CURRENT_MDL_OFFSET()), меня немного смутили, так как я всегда наблюдал, как они возвращают одинаковое значение, и оба кажутся одинаково полезными.Платформа фильтрации Windows: доступ к полезной нагрузке пакета

Какой из них следует использовать? В чем разница между ними?

ответ

1

Хорошо, получилось.
Очевидно, что если ток лея не указует на первую лею, то NET_BUFFER_DATA_OFFSET() будет указывать размер всех лей х до текущего, плюс текущий собственного смещении, в то время как NET_BUFFER_CURRENT_MDL_OFFSET() будет указывать только смещение в пределах текущих лей, который это все, что вам действительно нужно, если вы используете макрос NET_BUFFER_CURRENT_MDL().
Оптимизация thingy.

Смежные вопросы