Share via


Programming Considerations

This topic contains programming information. The following list identifies some programming tips to help you write a parser.

Auto-installing your parser Implement the ParserAutoInstallInfo function to automatically install your parser, and update the associated INI files. If you install your parser manually, you must update all associated INI files manually.
Parsing protocol properties Implement the AttachProperties function to parse the protocol properties. Avoid using the AttachPropertyInstanceEx function when you attach a property instance, and use it for only non byte-aligned data, or data that must be decoded. Attaching properties refers to mapping a property instance to a specific location in a capture.
Parsing protocols that are split between frames Assume that each piece of the protocol is complete within a frame, and assume that the user calls the Protocol Coalesce tool to combine the pieces into one protocol. Do not look back at a previous frame when parsing a protocol, and avoid trying to reconstruct a protocol that is split between frames.
Formatting displayed data Call the FormatPropertyInstance function to use the generic formatter to format the data displayed in the details pane of the Network Monitor UI. Avoid writing a custom formatter for UI display data. However, you can call a custom formatter to create a summary property line for the protocol you are parsing.
Using CCAlloc Use CCAlloc when you want Network Monitor to allocate data on a per-capture basis. Network Monitor does not specify the order that frames call the parser.
Keeping a parser stateless Keep parser operation stateless because when Network Monitor parses a capture, it does not pass the frames to the parser in a specific order. For this reason, it is recommended that you do not retain global data.