Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Заметка NDIS 5. x устарел и заменен NDIS 6. x. Сведения о разработке новых драйверов NDIS см. в разделе "Сетевые драйверы" начиная с Windows Vista. Сведения о переносе NDIS 5. драйверы x в NDIS 6. x, см. раздел "Перенос драйверов NDIS 5.x в NDIS 6.0".
NdisCopyFromPacketToPacket копирует указанный диапазон данных из одного пакета в другой.
Синтаксис
void NdisCopyFromPacketToPacketSafe(
[in] IN PNDIS_PACKET Destination,
[in] IN UINT DestinationOffset,
[in] IN UINT BytesToCopy,
[in] IN PNDIS_PACKET Source,
[in] IN UINT SourceOffset,
[out] OUT PUINT BytesCopied,
IN MM_PAGE_PRIORITY Priority
);
Параметры
[in] Destination
Указатель на дескриптор целевого пакета.
[in] DestinationOffset
Указывает смещение байтов в целевом пакете, с которого начинается запись скопированных данных.
[in] BytesToCopy
Указывает количество байтов для копирования.
[in] Source
Указатель на дескриптор исходного пакета.
[in] SourceOffset
Указывает смещение байтов в исходном пакете, с которого начинается копирование данных.
[out] BytesCopied
Указатель на указанную вызывающим переменную, в которой эта функция возвращает количество байтов, скопированных фактически. Это число может быть меньше значения BytesToCopy , если исходный пакет выходит из данных или целевой пакет не имеет места.
Priority
Возвращаемое значение
Никакой
Замечания
Возвращаемое значение: None
Драйверы должны вызывать NdisCopyFromPacketToPacketSafe вместо NdisCopyFromPacketToPacketToPacket. Драйверы минипорта NDIS 5.1 должны вызывать NdisCopyFromPacketToPacketSafe вместо NdisCopyFromPacketToPacketToPacket. В отличие от NdisCopyFromPacketToPacket, NdisCopyFromPacketToPacketSafe не вызывает проверку ошибок, если системные ресурсы являются низкими или исчерпанными.
Вызывающий объект NdisCopyFromPacketToPacket выделяет целевой пакет, если не исходный пакет. Дескриптор пакета назначения должен иметь достаточно цепочки дескрипторов буфера для получения данных.
Если исходный пакет выходит из данных или целевого пакета вне места до копирования указанного числа байтов, операция копирования останавливается. В любом случае NdisCopyFromPacketToPacket возвращает количество байтов, успешно скопированных из источника в целевой пакет.
NdisCopyFromPacketToPacket Не копирует никакие внеполосные сведения, связанные с заданным источником в назначение. Чтобы скопировать эти сведения, драйвер может использовать указатели, возвращаемые NDIS_OOB_DATA_FROM_PACKET , а затем вызвать NdisMoveMemory.
Драйвер должен освободить любую блокировку спина, удерживаемую перед вызовом NdisCopyFromPacketToPacket.
- Целевая платформа: универсальная
- Версия: не поддерживается для драйверов NDIS 6.0 в Windows Vista. Вместо этого используйте NdisCopyFromNetBufferToNetBuffer. Поддерживается для драйверов NDIS 5.1 в Windows Vista и Windows XP, но вместо этого используйте NdisCopyFromPacketToPacketSafe.
Требования
Требование | Ценность |
---|---|
Заголовок | ndis.h (include Ndis.h) |
Библиотека | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |