Access protocol layers in a packet. More...

List of all members.

Public Member Functions

HRESULT  GetPacketLayers ([in, out] ULONG *pulLayerCount,[out, size_is(*pulLayerCount)] PacketLayerInfo pLayerInfo[])
HRESULT  GetHeaderLayer ([in] USHORT usProtoSpecID,[out] ULONG *pulSourceProtoSpec,[out] BYTE **ppData,[out] USHORT *pusBytesRemaining)
HRESULT  GetDataLayer ([in] USHORT usProtoSpecID,[out] ULONG *pulSourceProtoSpec,[out] BYTE **ppData,[out] USHORT *pusBytesRemaining)

Detailed Description

This interface is implemented by the Omni Engine and provides access to the protocol layers found in a packet.

Remarks:
This interface is not remoteable, it is local only.

Member Function Documentation

HRESULT IPacketLayers::GetDataLayer [in] USHORT  usProtoSpecID,
[out] ULONG *  pulSourceProtoSpec,
[out] BYTE **  ppData,
[out] USHORT *  pusBytesRemaining
 

Get the data layer associated with a ProtoSpec.

Parameters:
usProtoSpecID ProtoSpec ID
pulSourceProtoSpec Pointer to a variable that receives the ProtoSpec instance ID. This parameter may be NULL if this information is not needed.
ppData Pointer to a variable that receives a pointer to the packet data that corresponds to layer specified by the ProtoSpec ID.
pusBytesRemaining Pointer to a variable that receives the number of bytes remaining in the packet. This parameter may be NULL if this information is not needed.
Return values:
S_OK Success
E_FAIL Error
E_POINTER One of the pointers is invalid.
Remarks:
None

HRESULT IPacketLayers::GetHeaderLayer [in] USHORT  usProtoSpecID,
[out] ULONG *  pulSourceProtoSpec,
[out] BYTE **  ppData,
[out] USHORT *  pusBytesRemaining
 

Get the header layer associated with a ProtoSpec.

Parameters:
usProtoSpecID ProtoSpec ID
pulSourceProtoSpec Pointer to a variable that receives the ProtoSpec instance ID. This parameter may be NULL if this information is not needed.
ppData Pointer to a variable that receives a pointer to the header layer of the packet that corresponds to the ProtoSpec.
pusBytesRemaining Pointer to a variable that receives the number of bytes remaining in the packet. This parameter may be NULL if this information is not needed.
Return values:
S_OK Success
E_FAIL Error
E_POINTER One of the pointers is invalid.
Remarks:
None

HRESULT IPacketLayers::GetPacketLayers [in, out] ULONG *  pulLayerCount,
[out, size_is(*pulLayerCount)] PacketLayerInfo  pLayerInfo[]
 

Get all packet layers.

Parameters:
pulLayerCount On input, pointer to a variable that specifies the number of layers that can be handled in the LayerInfo array. On output, this variable receives the actual number of layers in the packet.
pLayerInfo Pointer to an array of PacketLayerInfo structures.
Return values:
S_OK Success
E_FAIL Error
E_INVALIDARG The layer count passed as input is not large enough for the actual number of layers in the packet.
E_POINTER One of the pointers is invalid.
Remarks:
None