Поделиться через


Функция NdisIMCopySendPerPacketInfo (ndis.h)

Примечание NDIS 5. x устарел и заменен NDIS 6. x. Сведения о разработке новых драйверов NDIS см. в статье Сетевые драйверы, начиная с Windows Vista. Сведения о переносе NDIS 5. драйверов x в NDIS 6. xсм. перенос драйверов NDIS 5.x в NDIS 6.0.

NdisIMCopySendPerPacketInfo копирует сведения о каждом пакете из пакета, который был отправлен драйвером верхнего уровня в новый пакет, который будет отправлен в драйвер нижнего минипорта.

Синтаксис

void NdisIMCopySendPerPacketInfo(
  [out] OUT PNDIS_PACKET DstPacket,
  [in]  IN PNDIS_PACKET  SrcPacket
);

Параметры

[out] DstPacket

Указатель на дескриптор целевого пакета, в котором копируются сведения о каждом пакете.

[in] SrcPacket

Указатель на дескриптор исходного пакета, из которого копируются сведения о каждом пакете.

Возвращаемое значение

Никакой

Замечания

Когда промежуточный драйвер перенаправляет запрос на отправку от драйвера верхнего уровня к нижнему минипорту, то промежуточный драйвер вызывает NdisIMCopySendPerPacketInfo для копирования сведений о каждом пакете. Промежуточный драйвер копирует сведения о каждом пакете из пакета, отправляемого драйвером верхнего уровня, в новый пакет, который промежуточный драйвер отправляет на нижний минипорт-драйвер. Промежуточный драйвер вызывает NdisIMCopySendPerPacketInfo для каждого пакета, отправляемого через стек, если промежуточный драйвер не должен изменять сведения о пакете для каждого пакета.

Сведения о каждом пакете содержатся в структуре NDIS_PACKET_EXTENSION и включают, например, сведения о контрольной сумме, сведения о безопасности протокола Интернета и сведения о приоритете 802.1p.

Если промежуточный драйвер должен изменить сведения о пакете для каждого пакета, этот промежуточный драйвер должен использовать макрос NDIS_PER_PACKET_INFO_FROM_PACKET для доступа к информации. Драйвер может вызывать этот макрос один раз для каждого типа сведений о каждом пакете, к которым он должен получить доступ.

Драйверы также могут использовать макрос NDIS_PACKET_EXTENSION_FROM_PACKET, который возвращает указатель на структуру NDIS_PACKET_EXTENSION. Драйвер может вызывать этот макрос, если он должен получить доступ к нескольким типам сведений о каждом пакете, связанном с дескриптором пакета. Получив указатель на структуру NDIS_PACKET_EXTENSION, драйвер может использовать соответствующий индекс массива для получения указателя на определенный тип сведений о каждом пакете.

Чтобы скопировать диапазон данных из одного пакета в другой, используйте функцию NdisCopyFromPacketToPacket.

  • Целевая платформа: универсальная
  • Версия: не поддерживается для драйверов NDIS 6.0 в Windows Vista. Поддерживается для драйверов NDIS 5.1 в Windows Vista и Windows XP.

Требования

Требование Ценность
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL Любой уровень

См. также