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


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

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

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

Синтаксис

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

Параметры

[out] DstPacket

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

[in] SrcPacket

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

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

Никакой

Замечания

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

Сведения о каждом пакете содержатся в структуре 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 Любой уровень

См. также