Функция 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

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

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

None

Remarks

Когда промежуточный драйвер перенаправляет запрос на отправку от драйвера верхнего уровня в драйвер нижнего мини-порта, этот промежуточный драйвер вызывает 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 (включая Ndis.h)
Библиотека Ndis.lib
IRQL Любой уровень

См. также раздел