структура NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)
Структура NDIS_RECEIVE_HASH_PARAMETERS задает параметры хэша приема для адаптера минипорта, который поддерживает вычисления хэша приема.
Синтаксис
typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG HashInformation;
USHORT HashSecretKeySize;
ULONG HashSecretKeyOffset;
} NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_RECEIVE_HASH_PARAMETERS. Задайте для элемента Type структуры, указанной в заголовке , значение NDIS_OBJECT_TYPE_DEFAULT, для элемента Revision — NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1, а для элемента Size — значение NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.
Flags
Значение USHORT, указывающее, что драйвер мини-порта должен делать с параметрами хэша. Драйвер мини-порта может использовать эти флаги, чтобы быстро определить, какие параметры были изменены, и соответствующим образом обновить параметры хэша.
В запросе набора флаги определяются следующим образом:
NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH
Если этот флаг установлен, включите вычисление хэш-значений для полученных кадров и поместите вычисляемое хэш-значение в сведения об OOB NetBufferListHashValue в структуре NET_BUFFER_LIST.
Если этот флаг не задан, отключите вычисление хэш-значений для полученных кадров.
Если включено вычисление хэша получения, драйвер мини-порта должен установить этот флаг; в противном случае этот флаг должен быть снят.
NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED
Элемент HashInformation не изменился. Сведения о хэшах включают хэш-типы и хэш-функцию.
Если этот флаг установлен, элемент HashInformation структуры NDIS_RECEIVE_HASH_PARAMETERS следует игнорировать.
Если этот флаг снят, элемент HashInformation содержит новое значение, которое драйвер мини-порта должен использовать для вычисления хэш-значений для полученных кадров.
NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED
Секретный ключ и связанные с ним элементы данных не изменились.
Если этот флаг установлен, секретный ключ и связанные с ним элементы данных следует игнорировать.
Если этот флаг снят, секретный ключ или связанные с ним элементы данных были изменены, и драйвер miniport должен использовать новые сведения.
В запросе флаги определяются следующим образом:
HashInformation
В запросе набора хэш-тип и хэш-функция, которые сетевой адаптер должен использовать для вычисления значений хэша для входящих пакетов.
В запросе — хэш-тип и хэш-функция, которые использует сетевой адаптер.
Драйверы overlying и NDIS могут использовать NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC макрос для объединения типа хэша и хэш-функции в хэш-информацию и задания элемента HashInformation .
Драйверы минипорта могут использовать NDIS_RSS_HASH_TYPE_FROM_HASH_INFO макрос для получения типа хэша из HashInformation и NDIS_RSS_HASH_FUNC_FROM_HASH_INFO макрос для получения хэш-функции.
HashSecretKeySize
Размер массива секретных ключей хэш-функции в байтах. Размер массива для NdisHashFunctionToeplitz составляет 40 байт.
HashSecretKeyOffset
Смещение массива секретных ключей хэш-функции от начала структуры NDIS_RECEIVE_HASH_PARAMETERS. Используйте это смещение, чтобы получить 320-разрядный (40 байт) секретный ключ.
В запросе набора секретный ключ может содержать любые данные, выбранные драйвером overlying.
В запросе секретный ключ содержит данные, которые использует сетевой адаптер.
Комментарии
Структура NDIS_RECEIVE_HASH_PARAMETERS определяет параметры хэша для объекта OID_GEN_RECEIVE_HASH OID.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |