Hi all,
Currently, I try to get the packet buffer via the function
VOID
NdisGetFirstBufferFromPacket(
IN PNDIS_PACKET Packet,
OUT PNDIS_BUFFER *FirstBuffer,
OUT PVOID *FirstBufferVA,
OUT PUINT FirstBufferLength,
OUT PUINT TotalBufferLength
);
However, if the offset I want to get is out of the current buffer, for
example, the IP header, how can I get the pointer? Access FirstBufferVA[
sizeof( MAC_HEADER ) ] directly or go through the buffer list one by
one?
And what should be considerated when I access virtual address and
physical address>
Many thanks!
-Liang
Liang Chen
“CHEN, LIANG -HCHBJ” wrote in message news:xxxxx@ntdev…
Hi all, Currently, I try to get the packet buffer via the functionVOID NdisGetFirstBufferFromPacket( IN PNDIS_PACKET Packet, OUT PNDIS_BUFFER *FirstBuffer, OUT PVOID *FirstBufferVA, OUT PUINT FirstBufferLength, OUT PUINT TotalBufferLength ); However, if the offset I want to get is out of the current buffer, for example, the IP header, how can I get the pointer? Access FirstBufferVA[sizeof( MAC_HEADER )] directly or go through the buffer list one by one? And what should be considerated when I access virtual address and physical address> Many thanks! -Liang See the “NDIS Packet Discussion” at the URL:
http://www.ndis.com/papers/default.htm
Good luck,
Thomas F. Divine, Windows DDK MVP
http://www.rawether.net