структура NDIS_PM_PROTOCOL_OFFLOAD (ntddndis.h)
Структура NDIS_PM_PROTOCOL_OFFLOAD задает параметры для разгрузки протокола с низким энергопотреблением в сетевой адаптер.
Синтаксис
typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG ProtocolOffloadId;
ULONG NextProtocolOffloadOffset;
union {
struct {
ULONG Flags;
UCHAR RemoteIPv4Address[4];
UCHAR HostIPv4Address[4];
UCHAR MacAddress[6];
} IPv4ARPParameters;
struct {
ULONG Flags;
UCHAR RemoteIPv6Address[16];
UCHAR SolicitedNodeIPv6Address[16];
UCHAR MacAddress[6];
UCHAR TargetIPv6Addresses[2][16];
} IPv6NSParameters;
struct {
ULONG Flags;
UCHAR KCK[DOT11_RSN_KCK_LENGTH];
UCHAR KEK[DOT11_RSN_KEK_LENGTH];
ULONGLONG KeyReplayCounter;
} Dot11RSNRekeyParameters;
struct {
ULONG Flags;
ULONGLONG KeyReplayCounter;
ULONG AuthAlgo;
ULONG KCKLength;
ULONG KEKLength;
UCHAR KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
UCHAR KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
} Dot11RSNRekeyParametersV2;
} ProtocolOffloadParameters;
_PROTOCOL_OFFLOAD_PARAMETERS _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_PM_PROTOCOL_OFFLOAD . Драйвер задает для элемента Type значение NDIS_OBJECT_TYPE_DEFAULT.
Чтобы указать версию структуры NDIS_PM_PROTOCOL_OFFLOAD , задайте для элемента Редакциязаголовка одно из следующих значений:
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
Добавлена структура Dot11RSNRekeyParametersV2 для NDIS 6.84.
Задайте для элемента Размер значение NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
Исходная версия для NDIS 6.20 и более поздних версий.
Задайте для элемента Размер значение NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.
Flags
Значение ULONG, содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.
Priority
Значение ULONG, содержащее приоритет разгрузки протокола. Если драйвер с более высоким приоритетом добавляет разгрузку протокола с более высоким приоритетом при отсутствии ресурсов, доступных для дополнительной разгрузки протокола, NDIS может удалить разгрузку протокола с более низким приоритетом для освобождения ресурсов. Драйверы мини-порта должны игнорировать этот элемент. Драйверы протоколов могут предоставлять любое значение в пределах предопределенного диапазона. Следующие значения являются предопределенными:
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
Задает разгрузку протокола с наименьшим приоритетом.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
Задает обычную разгрузку протокола приоритета.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
Задает разгрузку протокола с наивысшим приоритетом.
ProtocolOffloadType
Обычного NDIS_PM_PROTOCOL_OFFLOAD_TYPE значение, содержащее тип разгрузки протокола.
FriendlyName
Структура NDIS_PM_COUNTED_STRING , содержащая доступное для пользователя описание разгрузки протокола с низким энергопотреблением.
ProtocolOffloadId
Значение ULONG, содержащее предоставленное NDIS-значение, идентифицирующее разгруженный протокол. Перед тем как NDIS отправит запрос OID_PM_ADD_PROTOCOL_OFFLOAD OID к базовым драйверам NDIS или завершит запрос к вышележащее драйверу, NDIS присваивает ProtocolOffloadId значение, которое является уникальным среди разгрузки протокола на сетевом адаптере.
NextProtocolOffloadOffset
Значение ULONG, содержащее смещение в байтах. Для элемента NextProtocolOffloadOffset каждой структуры NDIS_PM_PROTOCOL_OFFLOAD в списке задано смещение (от начала запроса OID InformationBuffer) следующей структуры NDIS_PM_PROTOCOL_OFFLOAD в списке. Если значение NextProtocolOffloadOffset равно нулю, текущая структура является последней структурой в списке.
ProtocolOffloadParameters
Объединение, содержащее следующие структуры элементов:
ProtocolOffloadParameters.IPv4ARPParameters
Структура, содержащая параметры ARP IPv4. Эта структура содержит следующие элементы:
ProtocolOffloadParameters.IPv4ARPParameters.Flags
Значение ULONG , содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
Массив UCHAR , содержащий необязательный IPv4-адрес. Этот адрес представляет поле Исходный адрес протокола (SPA) запроса ARP.
Если входящий запрос ARP имеет значение SPA, соответствующее этому IPv4-адресу, сетевой адаптер отправляет ответ ARP, когда он находится в состоянии низкого энергопотребления. Если этот член равен нулю, сетевой адаптер должен отвечать на запросы ARP с любого удаленного IPv4-адреса.
Дополнительные сведения о протоколе ARP см. в статье RFC 826.
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
Массив UCHAR , содержащий IPv4-адрес. При отправке ответа ARP сетевой адаптер использует этот член для поля SPA ответа.
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
Массив UCHAR , содержащий MAC-адрес управления доступом к мультимедиа. Сетевой адаптер использует этот MAC-адрес для поля Исходный аппаратный адрес (SHA) пакета ответа ARP, который он создает.
ProtocolOffloadParameters.IPv6NSParameters
Структура, содержащая параметры IPv6-соседей (NS). Эта структура содержит следующие элементы:
ProtocolOffloadParameters.IPv6NSParameters.Flags
Значение ULONG , содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
Массив UCHAR , содержащий необязательный IPv6-адрес. Этот адрес представляет поле Исходный адрес в заголовке IPv6 сообщения NS.
Если входящее сообщение NS имеет значение Исходного адреса, соответствующее этому IPv6-адресу, сетевой адаптер отправляет соседнее сообщение объявления (NA), когда оно находится в состоянии низкого энергопотребления. Если этот член равен нулю, сетевой адаптер должен отвечать на сообщения NS с любого удаленного IPv6-адреса.
Дополнительные сведения о сообщениях NS и NS IPv6 см. в статье RFC 4861.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
Массив UCHAR , содержащий запрошенный IPv6-адрес узла. Дополнительные сведения об этом типе IPv6-адресов см. в разделе Многоадресные IPv6-адреса.
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
Массив UCHAR , содержащий MAC-адрес. При отправке сообщения NA сетевой адаптер использует этот массив для поля целевого адреса уровня ссылок (TLLA) сообщения NA.
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
Массив UCHAR , содержащий один или два адреса IPv6. Если он содержит только один адрес, он сохраняется в первом элементе массива, а второй элемент заполняется нулями.
Драйверы мини-портов должны использовать все адреса в массиве.
Эти адреса представляют поле Целевой адрес сообщения NS. Если один из этих адресов совпадает с полем Целевой адрес входящего сообщения NS, сетевой адаптер отправляет в ответ сообщение NA.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
Структура, содержащая параметры подтверждения ieee 802.11i Robust Security Network (RSN). Эта структура содержит следующие элементы:
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
Значение ULONG , содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
Массив UCHAR , содержащий ключ подтверждения ключа IEEE 802.11 (KCK).
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
Массив UCHAR , содержащий ключ шифрования ключа IEEE 802.11 (KEK).
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
Значение ULONGLONG , содержащее счетчик воспроизведения.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
Структура, содержащая параметры подтверждения для надежной сети безопасности (RSN) версии 2 IEEE 802.11i. Доступно в NDIS 6.84 и более поздних версиях. Эта структура содержит следующие элементы:
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
_PROTOCOL_OFFLOAD_PARAMETERS
Комментарии
Структура NDIS_PM_PROTOCOL_OFFLOAD используется в OID_PM_ADD_PROTOCOL_OFFLOAD и OID_PM_PROTOCOL_OFFLOAD_LIST Oid.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.20 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ntddndis.h) |