如何在C#结构中定义和处理小于8位的数据

时间:2019-02-25 02:51:35

标签: c#

我正在通过DllImport使用名为WinDivert的基于C的本机库来处理C#中的数据包。

在C#get中定义和处理(<{> 1位小于8位)数据的最佳定义和处理(setstruct)数据的最佳方法是什么,就像C样式{{ 1}},而无需使用按位运算?

也许 struct属性

MarshalAs

变量typedef struct { UINT16 SrcPort; UINT16 DstPort; UINT32 SeqNum; UINT32 AckNum; UINT16 Reserved1:4; UINT16 HdrLength:4; UINT16 Fin:1; UINT16 Syn:1; UINT16 Rst:1; UINT16 Psh:1; UINT16 Ack:1; UINT16 Urg:1; UINT16 Reserved2:2; UINT16 Window; UINT16 Checksum; UINT16 UrgPtr; } WINDIVERT_TCPHDR, *PWINDIVERT_TCPHDR; Reserved1定义为 4位,以及HdrLengthFinSyn,{{1 }},RstPsh 1位,而Ack 2位

谢谢。

0 个答案:

没有答案