netmon.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:220k
- #define ETHERNET_FRAME_LENGTH ( 0x5ea )
- #define ETHERNET_FRAME_TYPE ( 0x600 )
- //=============================================================================
- // Header for NM_ATM Packets.
- //=============================================================================
- typedef struct _NM_ATM
- {
- UCHAR DstAddr[ 6 ];
- UCHAR SrcAddr[ 6 ];
- ULONG Vpi;
- ULONG Vci;
- } NM_ATM;
- typedef NM_ATM *PNM_ATM;
- typedef NM_ATM *UPNM_ATM;
- #define NM_ATM_HEADER_LENGTH sizeof(NM_ATM)
- typedef struct _NM_1394
- {
- UCHAR DstAddr[ 6 ];
- UCHAR SrcAddr[ 6 ];
- ULONGLONG VcId;
- } NM_1394;
- typedef NM_1394 *PNM_1394;
- typedef NM_1394 *UPNM_1394;
- #define NM_1394_HEADER_LENGTH sizeof(NM_1394)
- //=============================================================================
- // 802.5 (TOKENRING) MAC structure.
- //=============================================================================
- // This structure is used to decode network data and so needs to be packed
- #pragma pack(push, 1)
- typedef struct _TOKENRING
- {
- BYTE AccessCtrl; //... access control field.
- BYTE FrameCtrl; //... frame control field.
- BYTE DstAddr[MAX_ADDR_LENGTH]; //... destination address.
- BYTE SrcAddr[MAX_ADDR_LENGTH]; //... source address.
- union
- {
- BYTE Info[0]; //... information field.
- WORD RoutingInfo[0]; //... routing information field.
- };
- } TOKENRING;
- typedef TOKENRING *LPTOKENRING;
- typedef TOKENRING UNALIGNED *ULPTOKENRING;
- #define TOKENRING_SIZE sizeof(TOKENRING)
- #define TOKENRING_HEADER_LENGTH ( 14 )
- #define TOKENRING_SA_ROUTING_INFO ( 0x80 )
- #define TOKENRING_SA_LOCAL ( 0x40 )
- #define TOKENRING_DA_LOCAL ( 0x40 )
- #define TOKENRING_DA_GROUP ( 0x80 )
- #define TOKENRING_RC_LENGTHMASK ( 0x1f )
- #define TOKENRING_BC_MASK ( 0xe0 )
- #define TOKENRING_TYPE_MAC ( 0 )
- #define TOKENRING_TYPE_LLC ( 0x40 )
- #pragma pack(pop)
- //=============================================================================
- // FDDI MAC structure.
- //=============================================================================
- // This structure is used to decode network data and so needs to be packed
- #pragma pack(push, 1)
- typedef struct _FDDI
- {
- BYTE FrameCtrl; //... frame control field.
- BYTE DstAddr[MAX_ADDR_LENGTH]; //... destination address.
- BYTE SrcAddr[MAX_ADDR_LENGTH]; //... source address.
- BYTE Info[0]; //... information field.
- } FDDI;
- #define FDDI_SIZE sizeof(FDDI)
- typedef FDDI *LPFDDI;
- typedef FDDI UNALIGNED *ULPFDDI;
- #define FDDI_HEADER_LENGTH ( 13 )
- #define FDDI_TYPE_MAC ( 0 )
- #define FDDI_TYPE_LLC ( 0x10 )
- #define FDDI_TYPE_LONG_ADDRESS ( 0x40 )
- #pragma pack(pop)
- //=============================================================================
- // LLC (802.2)
- //=============================================================================
- // This structure is used to decode network data and so needs to be packed
- #pragma pack(push, 1)
- typedef struct _LLC
- {
- BYTE dsap;
- BYTE ssap;
- struct
- {
- union
- {
- BYTE Command;
- BYTE NextSend;
- } ;
- union
- {
- BYTE NextRecv;
- BYTE Data[ 1 ];
- } ;
- } ControlField;
- } LLC;
- typedef LLC *LPLLC;
- typedef LLC UNALIGNED *ULPLLC;
- #define LLC_SIZE ( sizeof( LLC ) )
- #pragma pack(pop)
- //=============================================================================
- // Helper macros.
- //=============================================================================
- #define IsRoutingInfoPresent(f) ((((ULPTOKENRING) (f))->SrcAddr[0] & TOKENRING_SA_ROUTING_INFO) ? TRUE : FALSE)
- #define GetRoutingInfoLength(f) (IsRoutingInfoPresent(f)
- ? (((ULPTOKENRING) (f))->RoutingInfo[0] & TOKENRING_RC_LENGTHMASK) : 0)
- //=============================================================================
- //=============================================================================
- // (Parser.h)
- //=============================================================================
- //=============================================================================
- //=============================================================================
- // Format Procedure Type.
- //
- // NOTE: All format functions *must* be declared as WINAPIV not WINAPI!
- //=============================================================================
- typedef VOID (WINAPIV *FORMAT)(LPPROPERTYINST, ...);
- // The protocol recognized the frame and moved the pointer to end of its
- // protocol header. Network Monitor uses the protocols follow set to continue
- // parsing.
- #define PROTOCOL_STATUS_RECOGNIZED ( 0 )
- // The protocol did not recognized the frame and did not move the pointer
- // (i.e. the start data pointer which was passed in). Network Monitor uses the
- // protocols follow set to continue parsing.
- #define PROTOCOL_STATUS_NOT_RECOGNIZED ( 1 )
- // The protocol recognized the frame and claimed it all for itself,
- // and parsing terminates.
- #define PROTOCOL_STATUS_CLAIMED ( 2 )
- // The protocol recognized the frame and moved the pointer to end of its
- // protocol header. The current protocol requests that Network Monitor
- // continue parsing at a known next protocol by returning the next protocols
- // handle back to Network Monitor. In this case, the follow of the current
- // protocol, if any, is not used.
- #define PROTOCOL_STATUS_NEXT_PROTOCOL ( 3 )
- //=============================================================================
- // Macros.
- //=============================================================================
- extern BYTE HexTable[];
- #define XCHG(x) MAKEWORD( HIBYTE(x), LOBYTE(x) )
- #define DXCHG(x) MAKELONG( XCHG(HIWORD(x)), XCHG(LOWORD(x)) )
- #define LONIBBLE(b) ((BYTE) ((b) & 0x0F))
- #define HINIBBLE(b) ((BYTE) ((b) >> 4))
- #define HEX(b) (HexTable[LONIBBLE(b)])
- #define SWAPBYTES(w) ((w) = XCHG(w))
- #define SWAPWORDS(d) ((d) = DXCHG(d))
- //=============================================================================
- // All the MAC frame types combined.
- //=============================================================================
- typedef union _MACFRAME
- {
- LPBYTE MacHeader; //... generic pointer.
- LPETHERNET Ethernet; //... ethernet pointer.
- LPTOKENRING Tokenring; //... tokenring pointer.
- LPFDDI Fddi; //... FDDI pointer.
- } MACFRAME;
- typedef MACFRAME *LPMACFRAME;
- #define HOT_SIGNATURE MAKE_IDENTIFIER('H', 'O', 'T', '$')
- #define HOE_SIGNATURE MAKE_IDENTIFIER('H', 'O', 'E', '$')
- typedef struct _HANDOFFENTRY
- {
- DWORD hoe_sig;
- DWORD hoe_ProtIdentNumber;
- HPROTOCOL hoe_ProtocolHandle;
- DWORD hoe_ProtocolData;
- } HANDOFFENTRY;
- typedef HANDOFFENTRY *LPHANDOFFENTRY;
- typedef struct _HANDOFFTABLE
- {
- DWORD hot_sig;
- DWORD hot_NumEntries;
- LPHANDOFFENTRY hot_Entries;
- } HANDOFFTABLE;
- typedef struct _HANDOFFTABLE *LPHANDOFFTABLE;
- //=============================================================================
- // Parser helper macros.
- //=============================================================================
- INLINE LPVOID GetPropertyInstanceData(LPPROPERTYINST PropertyInst)
- {
- if ( PropertyInst->DataLength != (WORD) -1 )
- {
- return PropertyInst->lpData;
- }
- return (LPVOID) PropertyInst->lpPropertyInstEx->Byte;
- }
- #define GetPropertyInstanceDataValue(p, type) ((type *) GetPropertyInstanceData(p))[0]
- INLINE DWORD GetPropertyInstanceFrameDataLength(LPPROPERTYINST PropertyInst)
- {
- if ( PropertyInst->DataLength != (WORD) -1 )
- {
- return PropertyInst->DataLength;
- }
- return PropertyInst->lpPropertyInstEx->Length;
- }
- INLINE DWORD GetPropertyInstanceExDataLength(LPPROPERTYINST PropertyInst)
- {
- if ( PropertyInst->DataLength == (WORD) -1 )
- {
- PropertyInst->lpPropertyInstEx->Length;
- }
- return (WORD) -1;
- }
- //=============================================================================
- // Parser helper functions.
- //=============================================================================
- LPLABELED_WORD WINAPI GetProtocolDescriptionTable(LPDWORD TableSize);
- LPLABELED_WORD WINAPI GetProtocolDescription(DWORD ProtocolID);
- DWORD WINAPI GetMacHeaderLength(LPVOID MacHeader, DWORD MacType);
- DWORD WINAPI GetLLCHeaderLength(LPLLC Frame);
- DWORD WINAPI GetEtype(LPVOID MacHeader, DWORD MacType);
- DWORD WINAPI GetSaps(LPVOID MacHeader, DWORD MacType);
- BOOL WINAPI IsLLCPresent(LPVOID MacHeader, DWORD MacType);
- VOID WINAPI CanonicalizeHexString(LPSTR hex, LPSTR dest, DWORD len);
- void WINAPI CanonHex(UCHAR * pDest, UCHAR * pSource, int iLen, BOOL fOx );
- DWORD WINAPI ByteToBinary(LPSTR string, DWORD ByteValue);
- DWORD WINAPI WordToBinary(LPSTR string, DWORD WordValue);
- DWORD WINAPI DwordToBinary(LPSTR string, DWORD DwordValue);
- LPSTR WINAPI AddressToString(LPSTR string, BYTE *lpAddress);
- LPBYTE WINAPI StringToAddress(BYTE *lpAddress, LPSTR string);
- LPDWORD WINAPI VarLenSmallIntToDword( LPBYTE pValue,
- WORD ValueLen,
- BOOL fIsByteswapped,
- LPDWORD lpDword );
- LPBYTE WINAPI LookupByteSetString (LPSET lpSet, BYTE Value);
- LPBYTE WINAPI LookupWordSetString (LPSET lpSet, WORD Value);
- LPBYTE WINAPI LookupDwordSetString (LPSET lpSet, DWORD Value);
- DWORD WINAPIV FormatByteFlags(LPSTR string, DWORD ByteValue, DWORD BitMask);
- DWORD WINAPIV FormatWordFlags(LPSTR string, DWORD WordValue, DWORD BitMask);
- DWORD WINAPIV FormatDwordFlags(LPSTR string, DWORD DwordValue, DWORD BitMask);
- LPSTR WINAPIV FormatTimeAsString(SYSTEMTIME *time, LPSTR string);
- VOID WINAPIV FormatLabeledByteSetAsFlags(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatLabeledWordSetAsFlags(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatLabeledDwordSetAsFlags(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatPropertyDataAsByte(LPPROPERTYINST lpPropertyInst, DWORD Base);
- VOID WINAPIV FormatPropertyDataAsWord(LPPROPERTYINST lpPropertyInst, DWORD Base);
- VOID WINAPIV FormatPropertyDataAsDword(LPPROPERTYINST lpPropertyInst, DWORD Base);
- VOID WINAPIV FormatLabeledByteSet(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatLabeledWordSet(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatLabeledDwordSet(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatPropertyDataAsInt64(LPPROPERTYINST lpPropertyInst, DWORD Base);
- VOID WINAPIV FormatPropertyDataAsTime(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatPropertyDataAsString(LPPROPERTYINST lpPropertyInst);
- VOID WINAPIV FormatPropertyDataAsHexString(LPPROPERTYINST lpPropertyInst);
- // Parsers should NOT call LockFrame(). If a parser takes a lock and then gets
- // faulted or returns without unlocking, it leaves the system in a state where
- // it cannot change protocols or cut/copy frames. Parsers should use ParserTemporaryLockFrame
- // which grants a lock ONLY during the context of the api entry into the parser. The
- // lock is released on exit from the parser for that frame.
- ULPBYTE WINAPI ParserTemporaryLockFrame(HFRAME hFrame);
- LPVOID WINAPI GetCCInstPtr(VOID);
- VOID WINAPI SetCCInstPtr(LPVOID lpCurCaptureInst);
- LPVOID WINAPI CCHeapAlloc(DWORD dwBytes, BOOL bZeroInit);
- LPVOID WINAPI CCHeapReAlloc(LPVOID lpMem, DWORD dwBytes, BOOL bZeroInit);
- BOOL WINAPI CCHeapFree(LPVOID lpMem);
- SIZE_T WINAPI CCHeapSize(LPVOID lpMem);
- BOOL _cdecl BERGetInteger( ULPBYTE pCurrentPointer,
- ULPBYTE *ppValuePointer,
- LPDWORD pHeaderLength,
- LPDWORD pDataLength,
- ULPBYTE *ppNext);
- BOOL _cdecl BERGetString( ULPBYTE pCurrentPointer,
- ULPBYTE *ppValuePointer,
- LPDWORD pHeaderLength,
- LPDWORD pDataLength,
- ULPBYTE *ppNext);
- BOOL _cdecl BERGetHeader( ULPBYTE pCurrentPointer,
- ULPBYTE pTag,
- LPDWORD pHeaderLength,
- LPDWORD pDataLength,
- ULPBYTE *ppNext);
- //=============================================================================
- // Parser Finder Structures.
- //=============================================================================
- #define MAX_PROTOCOL_COMMENT_LEN ( 256 )
- #define NETMON_MAX_PROTOCOL_NAME_LEN ( 16 )
- // the constant MAX_PROTOCOL_NAME_LEN conflicts with one of the same name
- // but different size in rtutils.h.
- // So if both headers are included, we do not define MAX_PROTOCOL_NAME_LEN.
- #ifndef MAX_PROTOCOL_NAME_LEN
- #define MAX_PROTOCOL_NAME_LEN ( NETMON_MAX_PROTOCOL_NAME_LEN )
- #else
- #undef MAX_PROTOCOL_NAME_LEN
- #endif
- // Handoff Value Format Base
- typedef /* [public][public][public] */
- enum __MIDL___MIDL_itf_netmon_0000_0021
- { HANDOFF_VALUE_FORMAT_BASE_UNKNOWN = 0,
- HANDOFF_VALUE_FORMAT_BASE_DECIMAL = 10,
- HANDOFF_VALUE_FORMAT_BASE_HEX = 16
- } PF_HANDOFFVALUEFORMATBASE;
- // PF_HANDOFFENTRY
- typedef struct _PF_HANDOFFENTRY
- {
- char szIniFile[ 260 ];
- char szIniSection[ 260 ];
- char szProtocol[ 16 ];
- DWORD dwHandOffValue;
- PF_HANDOFFVALUEFORMATBASE ValueFormatBase;
- } PF_HANDOFFENTRY;
- typedef PF_HANDOFFENTRY *PPF_HANDOFFENTRY;
- // PF_HANDOFFSET
- typedef struct _PF_HANDOFFSET
- {
- DWORD nEntries;
- PF_HANDOFFENTRY Entry[0];
- } PF_HANDOFFSET;
- typedef PF_HANDOFFSET* PPF_HANDOFFSET;
- // FOLLOWENTRY
- typedef struct _PF_FOLLOWENTRY
- {
- char szProtocol[ 16 ];
- } PF_FOLLOWENTRY;
- typedef PF_FOLLOWENTRY *PPF_FOLLOWENTRY;
- // PF_FOLLOWSET
- typedef struct _PF_FOLLOWSET
- {
- DWORD nEntries;
- PF_FOLLOWENTRY Entry[0];
- } PF_FOLLOWSET;
- typedef PF_FOLLOWSET* PPF_FOLLOWSET;
- // PARSERINFO - contains information about a single parser
- typedef struct _PF_PARSERINFO
- {
- char szProtocolName[NETMON_MAX_PROTOCOL_NAME_LEN];
- char szComment[MAX_PROTOCOL_COMMENT_LEN];
- char szHelpFile[MAX_PATH];
- PPF_FOLLOWSET pWhoCanPrecedeMe;
- PPF_FOLLOWSET pWhoCanFollowMe;
- PPF_HANDOFFSET pWhoHandsOffToMe;
- PPF_HANDOFFSET pWhoDoIHandOffTo;
- } PF_PARSERINFO;
- typedef PF_PARSERINFO* PPF_PARSERINFO;
- // PF_PARSERDLLINFO - contains information about a single parser DLL
- typedef struct _PF_PARSERDLLINFO
- {
- // char szDLLName[MAX_PATH];
- DWORD nParsers;
- PF_PARSERINFO ParserInfo[0];
- } PF_PARSERDLLINFO;
- typedef PF_PARSERDLLINFO* PPF_PARSERDLLINFO;
- //=============================================================================
- //=============================================================================
- // (IniLib.h)
- //=============================================================================
- //=============================================================================
- #define INI_PATH_LENGTH ( 256 )
- #define MAX_HANDOFF_ENTRY_LENGTH ( 80 )
- #define MAX_PROTOCOL_NAME ( 40 )
- #define NUMALLOCENTRIES ( 10 )
- #define RAW_INI_STR_LEN ( 200 )
- #define PARSERS_SUBDIR "PARSERS"
- #define INI_EXTENSION "INI"
- #define BASE10_FORMAT_STR "%ld=%s %ld"
- #define BASE16_FORMAT_STR "%lx=%s %lx"
- // Given "XNS" or "TCP" or whatever BuildINIPath will return fully qual. path to "XNS.INI" or "TCP.INI"
- LPSTR _cdecl BuildINIPath( char *FullPath,
- char *IniFileName );
- // Builds Handoff Set
- DWORD WINAPI CreateHandoffTable(LPSTR secName,
- LPSTR iniFile,
- LPHANDOFFTABLE * hTable,
- DWORD nMaxProtocolEntries,
- DWORD base);
- HPROTOCOL WINAPI GetProtocolFromTable(LPHANDOFFTABLE hTable, // lp to Handoff Table...
- DWORD ItemToFind, // port number etc...
- PDWORD_PTR lpInstData ); // inst data to give to next protocol
- VOID WINAPI DestroyHandoffTable( LPHANDOFFTABLE hTable );
- BOOLEAN WINAPI IsRawIPXEnabled(LPSTR secName,
- LPSTR iniFile,
- LPSTR CurProtocol );
- //=============================================================================
- //=============================================================================
- // (NMExpert.h)
- //=============================================================================
- //=============================================================================
- #define EXPERTSTRINGLENGTH ( 260 )
- #define EXPERTGROUPNAMELENGTH ( 25 )
- // HEXPERTKEY tracks running experts. It is only used by experts for
- // self reference. It refers to a RUNNINGEXPERT (an internal only structure)..
- typedef LPVOID HEXPERTKEY;
- typedef HEXPERTKEY *PHEXPERTKEY;
- // HEXPERT tracks loaded experts. It refers to an EXPERTENUMINFO.
- typedef LPVOID HEXPERT;
- typedef HEXPERT *PHEXPERT;
- // HRUNNINGEXPERT tracks a currently running expert.
- // It refers to a RUNNINGEXPERT (an internal only structure).
- typedef LPVOID HRUNNINGEXPERT;
- typedef HRUNNINGEXPERT *PHRUNNINGEXPERT;
- typedef struct _EXPERTENUMINFO * PEXPERTENUMINFO;
- typedef struct _EXPERTCONFIG * PEXPERTCONFIG;
- typedef struct _EXPERTSTARTUPINFO * PEXPERTSTARTUPINFO;
- // Definitions needed to call experts
- #define EXPERTENTRY_REGISTER "Register"
- #define EXPERTENTRY_CONFIGURE "Configure"
- #define EXPERTENTRY_RUN "Run"
- typedef BOOL (WINAPI * PEXPERTREGISTERPROC)( PEXPERTENUMINFO );
- typedef BOOL (WINAPI * PEXPERTCONFIGPROC) ( HEXPERTKEY, PEXPERTCONFIG*, PEXPERTSTARTUPINFO, DWORD, HWND );
- typedef BOOL (WINAPI * PEXPERTRUNPROC) ( HEXPERTKEY, PEXPERTCONFIG, PEXPERTSTARTUPINFO, DWORD, HWND);
- // EXPERTENUMINFO describes an expert that NetMon has loaded from disk.
- // It does not include any configuration or runtime information.
- typedef struct _EXPERTENUMINFO
- {
- char szName[EXPERTSTRINGLENGTH];
- char szVendor[EXPERTSTRINGLENGTH];
- char szDescription[EXPERTSTRINGLENGTH];
- DWORD Version;
- DWORD Flags;
- char szDllName[MAX_PATH]; // private, dont' touch
- HEXPERT hExpert; // private, don't touch
- HINSTANCE hModule; // private, don't touch
- PEXPERTREGISTERPROC pRegisterProc; // private, don't touch
- PEXPERTCONFIGPROC pConfigProc; // private, don't touch
- PEXPERTRUNPROC pRunProc; // private, don't touch
- } EXPERTENUMINFO;
- typedef EXPERTENUMINFO * PEXPERTENUMINFO;
- #define EXPERT_ENUM_FLAG_CONFIGURABLE ( 0x1 )
- #define EXPERT_ENUM_FLAG_VIEWER_PRIVATE ( 0x2 )
- #define EXPERT_ENUM_FLAG_NO_VIEWER ( 0x4 )
- #define EXPERT_ENUM_FLAG_ADD_ME_TO_RMC_IN_SUMMARY ( 0x10 )
- #define EXPERT_ENUM_FLAG_ADD_ME_TO_RMC_IN_DETAIL ( 0x20 )
- // EXPERTSTARTUPINFO
- // This gives the Expert an indication of where he came from.
- // Note: if the lpPropertyInst->PropertyInfo->DataQualifier == PROP_QUAL_FLAGS
- // then the sBitField structure is filled in
- typedef struct _EXPERTSTARTUPINFO
- {
- DWORD Flags;
- HCAPTURE hCapture;
- char szCaptureFile[MAX_PATH];
- DWORD dwFrameNumber;
- HPROTOCOL hProtocol;
- LPPROPERTYINST lpPropertyInst;
- struct
- {
- BYTE BitNumber;
- BOOL bOn;
- } sBitfield;
- } EXPERTSTARTUPINFO;
- // EXPERTCONFIG
- // This is a generic holder for an Expert's config data.
- typedef struct _EXPERTCONFIG
- {
- DWORD RawConfigLength;
- BYTE RawConfigData[0];
- } EXPERTCONFIG;
- typedef EXPERTCONFIG * PEXPERTCONFIG;
- // CONFIGUREDEXPERT
- // This structure associates a loaded expert with its configuration data.
- typedef struct
- {
- HEXPERT hExpert;
- DWORD StartupFlags;
- PEXPERTCONFIG pConfig;
- } CONFIGUREDEXPERT;
- typedef CONFIGUREDEXPERT * PCONFIGUREDEXPERT;
- // EXPERTFRAMEDESCRIPTOR - passed back to the expert to fulfil the request for a frame
- typedef struct
- {
- DWORD FrameNumber; // Frame Number.
- HFRAME hFrame; // Handle to the frame.
- ULPFRAME pFrame; // pointer to frame.
- LPRECOGNIZEDATATABLE lpRecognizeDataTable;// pointer to table of RECOGNIZEDATA structures.
- LPPROPERTYTABLE lpPropertyTable; // pointer to property table.
- } EXPERTFRAMEDESCRIPTOR;
- typedef EXPERTFRAMEDESCRIPTOR * LPEXPERTFRAMEDESCRIPTOR;
- #define GET_SPECIFIED_FRAME ( 0 )
- #define GET_FRAME_NEXT_FORWARD ( 1 )
- #define GET_FRAME_NEXT_BACKWARD ( 2 )
- #define FLAGS_DEFER_TO_UI_FILTER ( 0x1 )
- #define FLAGS_ATTACH_PROPERTIES ( 0x2 )
- // EXPERTSTATUSENUM
- // gives the possible values for the status field in the EXPERTSTATUS structure
- typedef /* [public][public][public] */
- enum __MIDL___MIDL_itf_netmon_0000_0022
- { EXPERTSTATUS_INACTIVE = 0,
- EXPERTSTATUS_STARTING = EXPERTSTATUS_INACTIVE + 1,
- EXPERTSTATUS_RUNNING = EXPERTSTATUS_STARTING + 1,
- EXPERTSTATUS_PROBLEM = EXPERTSTATUS_RUNNING + 1,
- EXPERTSTATUS_ABORTED = EXPERTSTATUS_PROBLEM + 1,
- EXPERTSTATUS_DONE = EXPERTSTATUS_ABORTED + 1
- } EXPERTSTATUSENUMERATION;
- // EXPERTSUBSTATUS bitfield
- // gives the possible values for the substatus field in the EXPERTSTATUS structure
- #define EXPERTSUBSTATUS_ABORTED_USER ( 0x1 )
- #define EXPERTSUBSTATUS_ABORTED_LOAD_FAIL ( 0x2 )
- #define EXPERTSUBSTATUS_ABORTED_THREAD_FAIL ( 0x4 )
- #define EXPERTSUBSTATUS_ABORTED_BAD_ENTRY ( 0x8 )
- // EXPERTSTATUS
- // Indicates the current status of a running expert.
- typedef /* [public][public] */ struct __MIDL___MIDL_itf_netmon_0000_0023
- {
- EXPERTSTATUSENUMERATION Status;
- DWORD SubStatus;
- DWORD PercentDone;
- DWORD Frame;
- char szStatusText[ 260 ];
- } EXPERTSTATUS;
- typedef EXPERTSTATUS *PEXPERTSTATUS;
- // EXPERT STARTUP FLAGS
- #define EXPERT_STARTUP_FLAG_USE_STARTUP_DATA_OVER_CONFIG_DATA ( 0x1 )
- //=============================================================================
- //=============================================================================
- // (NetMon.h)
- //=============================================================================
- //=============================================================================
- // A frame with no number contains this value as its frame number.
- #define INVALID_FRAME_NUMBER ( ( DWORD )-1 )
- //=============================================================================
- // Capture file flags.
- //=============================================================================
- #define CAPTUREFILE_OPEN OPEN_EXISTING
- #define CAPTUREFILE_CREATE CREATE_NEW
- //=============================================================================
- // CAPTURE CONTEXT API's.
- //=============================================================================
- LPSYSTEMTIME WINAPI GetCaptureTimeStamp(HCAPTURE hCapture);
- DWORD WINAPI GetCaptureMacType(HCAPTURE hCapture);
- DWORD WINAPI GetCaptureTotalFrames(HCAPTURE hCapture);
- LPSTR WINAPI GetCaptureComment(HCAPTURE hCapture);
- //=============================================================================
- // FRAME HELP API's.
- //=============================================================================
- DWORD WINAPI MacTypeToAddressType(DWORD MacType);
- DWORD WINAPI AddressTypeToMacType(DWORD AddressType);
- DWORD WINAPI GetFrameDstAddressOffset(HFRAME hFrame, DWORD AddressType, LPDWORD AddressLength);
- DWORD WINAPI GetFrameSrcAddressOffset(HFRAME hFrame, DWORD AddressType, LPDWORD AddressLength);
- HCAPTURE WINAPI GetFrameCaptureHandle(HFRAME hFrame);
- DWORD WINAPI GetFrameDestAddress(HFRAME hFrame,
- LPADDRESS lpAddress,
- DWORD AddressType,
- DWORD Flags);
- DWORD WINAPI GetFrameSourceAddress(HFRAME hFrame,
- LPADDRESS lpAddress,
- DWORD AddressType,
- DWORD Flags);
- DWORD WINAPI GetFrameMacHeaderLength(HFRAME hFrame);
- BOOL WINAPI CompareFrameDestAddress(HFRAME hFrame, LPADDRESS lpAddress);
- BOOL WINAPI CompareFrameSourceAddress(HFRAME hFrame, LPADDRESS lpAddress);
- DWORD WINAPI GetFrameLength(HFRAME hFrame);
- DWORD WINAPI GetFrameStoredLength(HFRAME hFrame);
- DWORD WINAPI GetFrameMacType(HFRAME hFrame);
- DWORD WINAPI GetFrameMacHeaderLength(HFRAME hFrame);
- DWORD WINAPI GetFrameNumber(HFRAME hFrame);
- __int64 WINAPI GetFrameTimeStamp(HFRAME hFrame);
- ULPFRAME WINAPI GetFrameFromFrameHandle(HFRAME hFrame);
- //=============================================================================
- // FRAME API's.
- //=============================================================================
- HFRAME WINAPI ModifyFrame(HCAPTURE hCapture,
- DWORD FrameNumber,
- LPBYTE FrameData,
- DWORD FrameLength,
- __int64 TimeStamp);
- HFRAME WINAPI FindNextFrame(HFRAME hCurrentFrame,
- LPSTR ProtocolName,
- LPADDRESS lpDesstAddress,
- LPADDRESS lpSrcAddress,
- LPWORD ProtocolOffset,
- DWORD OriginalFrameNumber,
- DWORD nHighestFrame);
- HFRAME WINAPI FindPreviousFrame(HFRAME hCurrentFrame,
- LPSTR ProtocolName,
- LPADDRESS lpDstAddress,
- LPADDRESS lpSrcAddress,
- LPWORD ProtocolOffset,
- DWORD OriginalFrameNumber,
- DWORD nLowestFrame );
- HCAPTURE WINAPI GetFrameCaptureHandle(HFRAME);
- HFRAME WINAPI GetFrame(HCAPTURE hCapture, DWORD FrameNumber);
- LPRECOGNIZEDATATABLE WINAPI GetFrameRecognizeData(HFRAME hFrame);
- //=============================================================================
- // Protocol API's.
- //=============================================================================
- HPROTOCOL WINAPI CreateProtocol(LPSTR ProtocolName,
- LPENTRYPOINTS lpEntryPoints,
- DWORD cbEntryPoints);
- VOID WINAPI DestroyProtocol(HPROTOCOL hProtocol);
- LPPROTOCOLINFO WINAPI GetProtocolInfo(HPROTOCOL hProtocol);
- HPROPERTY WINAPI GetProperty(HPROTOCOL hProtocol, LPSTR PropertyName);
- HPROTOCOL WINAPI GetProtocolFromName(LPSTR ProtocolName);
- DWORD WINAPI GetProtocolStartOffset(HFRAME hFrame, LPSTR ProtocolName);
- DWORD WINAPI GetProtocolStartOffsetHandle(HFRAME hFrame, HPROTOCOL hProtocol);
- DWORD WINAPI GetPreviousProtocolOffsetByName(HFRAME hFrame,
- DWORD dwStartOffset,
- LPSTR szProtocolName,
- DWORD* pdwPreviousOffset);
- LPPROTOCOLTABLE WINAPI GetEnabledProtocols(HCAPTURE hCapture);
- //=============================================================================
- // Property API's.
- //=============================================================================
- DWORD WINAPI CreatePropertyDatabase(HPROTOCOL hProtocol, DWORD nProperties);
- DWORD WINAPI DestroyPropertyDatabase(HPROTOCOL hProtocol);
- HPROPERTY WINAPI AddProperty(HPROTOCOL hProtocol, LPPROPERTYINFO PropertyInfo);
- BOOL WINAPI AttachPropertyInstance(HFRAME hFrame,
- HPROPERTY hProperty,
- DWORD Length,
- ULPVOID lpData,
- DWORD HelpID,
- DWORD Level,
- DWORD IFlags);
- BOOL WINAPI AttachPropertyInstanceEx(HFRAME hFrame,
- HPROPERTY hProperty,
- DWORD Length,
- ULPVOID lpData,
- DWORD ExLength,
- ULPVOID lpExData,
- DWORD HelpID,
- DWORD Level,
- DWORD IFlags);
- LPPROPERTYINST WINAPI FindPropertyInstance(HFRAME hFrame, HPROPERTY hProperty);
- LPPROPERTYINST WINAPI FindPropertyInstanceRestart (HFRAME hFrame,
- HPROPERTY hProperty,
- LPPROPERTYINST *lpRestartKey,
- BOOL DirForward );
- LPPROPERTYINFO WINAPI GetPropertyInfo(HPROPERTY hProperty);
- LPSTR WINAPI GetPropertyText(HFRAME hFrame, LPPROPERTYINST lpPI, LPSTR szBuffer, DWORD BufferSize);
- DWORD WINAPI ResetPropertyInstanceLength( LPPROPERTYINST lpProp,
- WORD nOrgLen,
- WORD nNewLen );
- //=============================================================================
- // MISC. API's.
- //=============================================================================
- DWORD WINAPI GetCaptureCommentFromFilename(LPSTR lpFilename, LPSTR lpComment, DWORD BufferSize);
- int WINAPI CompareAddresses(LPADDRESS lpAddress1, LPADDRESS lpAddress2);
- DWORD WINAPIV FormatPropertyInstance(LPPROPERTYINST lpPropertyInst, ...);
- SYSTEMTIME * WINAPI AdjustSystemTime(SYSTEMTIME *SystemTime, __int64 TimeDelta);
- //=============================================================================
- // EXPERT API's for use by Experts
- //=============================================================================
- DWORD WINAPI ExpertGetFrame( IN HEXPERTKEY hExpertKey,
- IN DWORD Direction,
- IN DWORD RequestFlags,
- IN DWORD RequestedFrameNumber,
- IN HFILTER hFilter,
- OUT LPEXPERTFRAMEDESCRIPTOR pEFrameDescriptor);
- LPVOID WINAPI ExpertAllocMemory( IN HEXPERTKEY hExpertKey,
- IN SIZE_T nBytes,
- OUT DWORD* pError);
- LPVOID WINAPI ExpertReallocMemory( IN HEXPERTKEY hExpertKey,
- IN LPVOID pOriginalMemory,
- IN SIZE_T nBytes,
- OUT DWORD* pError);
- DWORD WINAPI ExpertFreeMemory( IN HEXPERTKEY hExpertKey,
- IN LPVOID pOriginalMemory);
- SIZE_T WINAPI ExpertMemorySize( IN HEXPERTKEY hExpertKey,
- IN LPVOID pOriginalMemory);
- DWORD WINAPI ExpertIndicateStatus( IN HEXPERTKEY hExpertKey,
- IN EXPERTSTATUSENUMERATION Status,
- IN DWORD SubStatus,
- IN const char * szText,
- IN LONG PercentDone);
- DWORD WINAPI ExpertSubmitEvent( IN HEXPERTKEY hExpertKey,
- IN PNMEVENTDATA pExpertEvent);
- DWORD WINAPI ExpertGetStartupInfo( IN HEXPERTKEY hExpertKey,
- OUT PEXPERTSTARTUPINFO pExpertStartupInfo);
- //=============================================================================
- // DEBUG API's.
- //=============================================================================
- #ifdef DEBUG
- //=============================================================================
- // BreakPoint() macro.
- //=============================================================================
- // We do not want breakpoints in our code any more...
- // so we are defining DebugBreak(), usually a system call, to be
- // just a dprintf. BreakPoint() is still defined as DebugBreak().
- #ifdef DebugBreak
- #undef DebugBreak
- #endif // DebugBreak
- #define DebugBreak() dprintf("DebugBreak Called at %s:%s", __FILE__, __LINE__);
- #define BreakPoint() DebugBreak()
- #endif // DEBUG
- //=============================================================================
- //=============================================================================
- // (NMBlob.h)
- //=============================================================================
- //=============================================================================
- //=============================================================================
- // Blob Constants
- //=============================================================================
- #define INITIAL_RESTART_KEY ( 0xffffffff )
- //=============================================================================
- // Blob Core Helper Routines
- //=============================================================================
- DWORD _cdecl CreateBlob(HBLOB * phBlob);
- DWORD _cdecl DestroyBlob(HBLOB hBlob);
- DWORD _cdecl SetStringInBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- const char * pString);
- DWORD _cdecl GetStringFromBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- const char ** ppString);
- DWORD _cdecl GetStringsFromBlob(HBLOB hBlob,
- const char * pRequestedOwnerName,
- const char * pRequestedCategoryName,
- const char * pRequestedTagName,
- const char ** ppReturnedOwnerName,
- const char ** ppReturnedCategoryName,
- const char ** ppReturnedTagName,
- const char ** ppReturnedString,
- DWORD * pRestartKey);
- DWORD _cdecl RemoveFromBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName);
- DWORD _cdecl LockBlob(HBLOB hBlob);
- DWORD _cdecl UnlockBlob(HBLOB hBlob);
- DWORD _cdecl FindUnknownBlobCategories( HBLOB hBlob,
- const char * pOwnerName,
- const char * pKnownCategoriesTable[],
- HBLOB hUnknownCategoriesBlob);
- //=============================================================================
- // Blob Helper Routines
- //=============================================================================
- DWORD _cdecl MergeBlob(HBLOB hDstBlob,
- HBLOB hSrcBlob);
- DWORD _cdecl DuplicateBlob (HBLOB hSrcBlob,
- HBLOB *hBlobThatWillBeCreated );
- DWORD _cdecl WriteBlobToFile(HBLOB hBlob,
- const char * pFileName);
- DWORD _cdecl ReadBlobFromFile(HBLOB* phBlob,
- const char * pFileName);
- DWORD _cdecl RegCreateBlobKey(HKEY hkey, const char* szBlobName, HBLOB hBlob);
- DWORD _cdecl RegOpenBlobKey(HKEY hkey, const char* szBlobName, HBLOB* phBlob);
- DWORD _cdecl MarshalBlob(HBLOB hBlob, DWORD* pSize, BYTE** ppBytes);
- DWORD _cdecl UnMarshalBlob(HBLOB* phBlob, DWORD Size, BYTE* pBytes);
- DWORD _cdecl SetDwordInBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- DWORD Dword);
- DWORD _cdecl GetDwordFromBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- DWORD * pDword);
- DWORD _cdecl SetBoolInBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- BOOL Bool);
- DWORD _cdecl GetBoolFromBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- BOOL * pBool);
- DWORD _cdecl GetMacAddressFromBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- BYTE * pMacAddress);
- DWORD _cdecl SetMacAddressInBlob(HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pTagName,
- const BYTE * pMacAddress);
- DWORD _cdecl FindUnknownBlobTags( HBLOB hBlob,
- const char * pOwnerName,
- const char * pCategoryName,
- const char * pKnownTagsTable[],
- HBLOB hUnknownTagsBlob);
- //=============================================================================
- // Blob NPP Helper Routines
- //=============================================================================
- DWORD _cdecl SetNetworkInfoInBlob(HBLOB hBlob,
- LPNETWORKINFO lpNetworkInfo);
- DWORD _cdecl GetNetworkInfoFromBlob(HBLOB hBlob,
- LPNETWORKINFO lpNetworkInfo);
- DWORD _cdecl CreateNPPInterface ( HBLOB hBlob,
- REFIID iid,
- void ** ppvObject);
- DWORD _cdecl SetClassIDInBlob(HBLOB hBlob,
- const char* pOwnerName,
- const char* pCategoryName,
- const char* pTagName,
- const CLSID* pClsID);
- DWORD _cdecl GetClassIDFromBlob(HBLOB hBlob,
- const char* pOwnerName,
- const char* pCategoryName,
- const char* pTagName,
- CLSID * pClsID);
- DWORD _cdecl SetNPPPatternFilterInBlob( HBLOB hBlob,
- LPEXPRESSION pExpression,
- HBLOB hErrorBlob);
- DWORD _cdecl GetNPPPatternFilterFromBlob( HBLOB hBlob,
- LPEXPRESSION pExpression,
- HBLOB hErrorBlob);
- DWORD _cdecl SetNPPAddressFilterInBlob( HBLOB hBlob,
- LPADDRESSTABLE pAddressTable);
- DWORD _cdecl GetNPPAddressFilterFromBlob( HBLOB hBlob,
- LPADDRESSTABLE pAddressTable,
- HBLOB hErrorBlob);
- DWORD _cdecl SetNPPTriggerInBlob( HBLOB hBlob,
- LPTRIGGER pTrigger,
- HBLOB hErrorBlob);
- DWORD _cdecl GetNPPTriggerFromBlob( HBLOB hBlob,
- LPTRIGGER pTrigger,
- HBLOB hErrorBlob);
- DWORD _cdecl SetNPPEtypeSapFilter(HBLOB hBlob,
- WORD nSaps,
- WORD nEtypes,
- LPBYTE lpSapTable,
- LPWORD lpEtypeTable,
- DWORD FilterFlags,
- HBLOB hErrorBlob);
- DWORD _cdecl GetNPPEtypeSapFilter(HBLOB hBlob,
- WORD *pnSaps,
- WORD *pnEtypes,
- LPBYTE *ppSapTable,
- LPWORD *ppEtypeTable,
- DWORD *pFilterFlags,
- HBLOB hErrorBlob);
- // GetNPPMacTypeAsNumber maps the tag NPP:NetworkInfo:MacType to the MAC_TYPE_*
- // defined in the NPPTYPES.h. If the tag is unavailable, the API returns MAC_TYPE_UNKNOWN.
- DWORD _cdecl GetNPPMacTypeAsNumber(HBLOB hBlob,
- LPDWORD lpMacType);
- // See if a remote catagory exists... and make sure that the remote computername
- // isn't the same as the local computername.
- BOOL _cdecl IsRemoteNPP ( HBLOB hBLOB);
- //=============================================================================
- // npp tag definitions
- //=============================================================================
- #define OWNER_NPP "NPP"
- #define CATEGORY_NETWORKINFO "NetworkInfo"
- #define TAG_MACTYPE "MacType"
- #define TAG_CURRENTADDRESS "CurrentAddress"
- #define TAG_LINKSPEED "LinkSpeed"
- #define TAG_MAXFRAMESIZE "MaxFrameSize"
- #define TAG_FLAGS "Flags"
- #define TAG_TIMESTAMPSCALEFACTOR "TimeStampScaleFactor"
- #define TAG_COMMENT "Comment"
- #define TAG_NODENAME "NodeName"
- #define TAG_NAME "Name"
- #define TAG_FAKENPP "Fake"
- #define TAG_PROMISCUOUS_MODE "PMode"
- #define CATEGORY_LOCATION "Location"
- #define TAG_RAS "Dial-up Connection"
- #define TAG_MACADDRESS "MacAddress"
- #define TAG_CLASSID "ClassID"
- #define TAG_NAME "Name"
- #define CATEGORY_CONFIG "Config"
- #define TAG_FRAME_SIZE "FrameSize"
- #define TAG_UPDATE_FREQUENCY "UpdateFreq"
- #define TAG_BUFFER_SIZE "BufferSize"
- #define TAG_DRIVE_LETTER "DriveLetter"
- #define TAG_PATTERN_DESIGNATOR "PatternMatch"
- #define TAG_PATTERN "Pattern"
- #define TAG_ADDRESS_PAIR "AddressPair"
- #define TAG_CONNECTIONFLAGS "ConnectionFlags"
- #define TAG_ETYPES "Etypes"
- #define TAG_SAPS "Saps"
- #define TAG_NO_CONVERSATION_STATS "NoConversationStats"
- #define TAG_NO_STATS_FRAME "NoStatsFrame"
- #define TAG_DONT_DELETE_EMPTY_CAPTURE "DontDeleteEmptyCapture"
- #define TAG_WANT_PROTOCOL_INFO "WantProtocolInfo"
- #define TAG_INTERFACE_DELAYED_CAPTURE "IDdC"
- #define TAG_INTERFACE_REALTIME_CAPTURE "IRTC"
- #define TAG_INTERFACE_STATS "ISts"
- #define TAG_INTERFACE_TRANSMIT "IXmt"
- #define TAG_INTERFACE_EXPERT_STATS "IESP"
- #define TAG_LOCAL_ONLY "LocalOnly"
- // Is_Remote is set to TRUE by NPPs that go remote. Note that when you
- // are looking for a remote NPP, you probably also need to ask for
- // blobs that have the TAG_GET_SPECIAL_BLOBS bool set
- #define TAG_IS_REMOTE "IsRemote"
- #define CATEGORY_TRIGGER "Trigger"
- #define TAG_TRIGGER "Trigger"
- #define CATEGORY_FINDER "Finder"
- #define TAG_ROOT "Root"
- #define TAG_PROCNAME "ProcName"
- #define TAG_DISP_STRING "Display"
- #define TAG_DLL_FILENAME "DLLName"
- #define TAG_GET_SPECIAL_BLOBS "Specials"
- #define CATEGORY_REMOTE "Remote"
- #define TAG_REMOTECOMPUTER "RemoteComputer"
- #define TAG_REMOTECLASSID "ClassID"
- #define CATEGORY_ESP "ESP"
- #define TAG_ESP_GENERAL_ACTIVE "ESPGeneralActive"
- #define TAG_ESP_PROTOCOL_ACTIVE "ESPProtocolActive"
- #define TAG_ESP_MAC_ACTIVE "ESPMacActive"
- #define TAG_ESP_MAC2MAC_ACTIVE "ESPMac2MacActive"
- #define TAG_ESP_IP_ACTIVE "ESPIpActive"
- #define TAG_ESP_IP2IP_ACTIVE "ESPIp2IpActive"
- #define TAG_ESP_IP_APP_ACTIVE "ESPIpAppActive"
- #define TAG_ESP_IPX_ACTIVE "ESPIpxActive"
- #define TAG_ESP_IPX2IPX_ACTIVE "ESPIpx2IpxActive"
- #define TAG_ESP_IPX_APP_ACTIVE "ESPIpxAppActive"
- #define TAG_ESP_DEC_ACTIVE "ESPDecActive"
- #define TAG_ESP_DEC2DEC_ACTIVE "ESPDec2DecActive"
- #define TAG_ESP_DEC_APP_ACTIVE "ESPDecAppActive"
- #define TAG_ESP_APPLE_ACTIVE "ESPAppleActive"
- #define TAG_ESP_APPLE2APPLE_ACTIVE "ESPApple2AppleActive"
- #define TAG_ESP_APPLE_APP_ACTIVE "ESPAppleAppActive"
- #define TAG_ESP_UTIL_SIZE "ESPUtilSize"
- #define TAG_ESP_TIME_SIZE "ESPTimeSize"
- #define TAG_ESP_BPS_SIZE "ESPBpsSize"
- #define TAG_ESP_BPS_THRESH "ESPBpsThresh"
- #define TAG_ESP_FPS_THRESH "ESPFpsThresh"
- #define TAG_ESP_MAC "ESPMac"
- #define TAG_ESP_IPX "ESPIpx"
- #define TAG_ESP_IPXSPX "ESPIpxSpx"
- #define TAG_ESP_NCP "ESPNcp"
- #define TAG_ESP_IP "ESPIp"
- #define TAG_ESP_UDP "ESPUdp"
- #define TAG_ESP_TCP "ESPTcp"
- #define TAG_ESP_ICMP "ESPIcmp"
- #define TAG_ESP_ARP "ESPArp"
- #define TAG_ESP_RARP "ESPRarp"
- #define TAG_ESP_APPLE "ESPApple"
- #define TAG_ESP_AARP "ESPAarp"
- #define TAG_ESP_DEC "ESPDec"
- #define TAG_ESP_NETBIOS "ESPNetbios"
- #define TAG_ESP_SNA "ESPSna"
- #define TAG_ESP_BPDU "ESPBpdu"
- #define TAG_ESP_LLC "ESPLlc"
- #define TAG_ESP_RPL "ESPRpl"
- #define TAG_ESP_BANYAN "ESPBanyan"
- #define TAG_ESP_LANMAN "ESPLanMan"
- #define TAG_ESP_SNMP "ESPSnmp"
- #define TAG_ESP_X25 "ESPX25"
- #define TAG_ESP_XNS "ESPXns"
- #define TAG_ESP_ISO "ESPIso"
- #define TAG_ESP_UNKNOWN "ESPUnknown"
- #define TAG_ESP_ATP "ESPAtp"
- #define TAG_ESP_ADSP "ESPAdsp"
- //=============================================================================
- // npp value definitions
- //=============================================================================
- // Mac types
- #define PROTOCOL_STRING_ETHERNET_TXT "ETHERNET"
- #define PROTOCOL_STRING_TOKENRING_TXT "TOKENRING"
- #define PROTOCOL_STRING_FDDI_TXT "FDDI"
- #define PROTOCOL_STRING_ATM_TXT "ATM"
- #define PROTOCOL_STRING_1394_TXT "IP/1394"
- // lower protocols
- #define PROTOCOL_STRING_IP_TXT "IP"
- #define PROTOCOL_STRING_IPX_TXT "IPX"
- #define PROTOCOL_STRING_XNS_TXT "XNS"
- #define PROTOCOL_STRING_VINES_IP_TXT "VINES IP"
- // upper protocols
- #define PROTOCOL_STRING_ICMP_TXT "ICMP"
- #define PROTOCOL_STRING_TCP_TXT "TCP"
- #define PROTOCOL_STRING_UDP_TXT "UDP"
- #define PROTOCOL_STRING_SPX_TXT "SPX"
- #define PROTOCOL_STRING_NCP_TXT "NCP"
- // pseudo protocols
- #define PROTOCOL_STRING_ANY_TXT "ANY"
- #define PROTOCOL_STRING_ANY_GROUP_TXT "ANY GROUP"
- #define PROTOCOL_STRING_HIGHEST_TXT "HIGHEST"
- #define PROTOCOL_STRING_LOCAL_ONLY_TXT "LOCAL ONLY"
- #define PROTOCOL_STRING_UNKNOWN_TXT "UNKNOWN"
- #define PROTOCOL_STRING_DATA_TXT "DATA"
- #define PROTOCOL_STRING_FRAME_TXT "FRAME"
- #define PROTOCOL_STRING_NONE_TXT "NONE"
- #define PROTOCOL_STRING_EFFECTIVE_TXT "EFFECTIVE"
- #define ADDRESS_PAIR_INCLUDE_TXT "INCLUDE"
- #define ADDRESS_PAIR_EXCLUDE_TXT "EXCLUDE"
- #define INCLUDE_ALL_EXCEPT_TXT "INCLUDE ALL EXCEPT"
- #define EXCLUDE_ALL_EXCEPT_TXT "EXCLUDE ALL EXCEPT"
- #define PATTERN_MATCH_OR_TXT "OR("
- #define PATTERN_MATCH_AND_TXT "AND("
- #define TRIGGER_PATTERN_TXT "PATTERN MATCH"
- #define TRIGGER_BUFFER_TXT "BUFFER CONTENT"
- #define TRIGGER_NOTIFY_TXT "NOTIFY"
- #define TRIGGER_STOP_TXT "STOP"
- #define TRIGGER_PAUSE_TXT "PAUSE"
- #define TRIGGER_25_PERCENT_TXT "25 PERCENT"
- #define TRIGGER_50_PERCENT_TXT "50 PERCENT"
- #define TRIGGER_75_PERCENT_TXT "75 PERCENT"
- #define TRIGGER_100_PERCENT_TXT "100 PERCENT"
- #define PATTERN_MATCH_NOT_TXT "NOT"
- //=============================================================================
- //=============================================================================
- // (NMRegHelp.h)
- //=============================================================================
- //=============================================================================
- // Registry helpers
- LPCSTR _cdecl FindOneOf(LPCSTR p1, LPCSTR p2);
- LONG _cdecl recursiveDeleteKey(HKEY hKeyParent, // Parent of key to delete.
- const char* lpszKeyChild); // Key to delete.
- BOOL _cdecl SubkeyExists(const char* pszPath, // Path of key to check
- const char* szSubkey); // Key to check
- BOOL _cdecl setKeyAndValue(const char* szKey,
- const char* szSubkey,
- const char* szValue,
- const char* szName) ;
- //=============================================================================
- //=============================================================================
- // (NMIpStructs.h)
- //=============================================================================
- //=============================================================================
- // These structures are used to decode network data and so need to be packed
- #pragma pack(push, 1)
- //
- // IP Packet Structure
- //
- typedef struct _IP
- {
- union
- {
- BYTE Version;
- BYTE HdrLen;
- };
- BYTE ServiceType;
- WORD TotalLen;
- WORD ID;
- union
- {
- WORD Flags;
- WORD FragOff;
- };
- BYTE TimeToLive;
- BYTE Protocol;
- WORD HdrChksum;
- DWORD SrcAddr;
- DWORD DstAddr;
- BYTE Options[0];
- } IP;
- typedef IP * LPIP;
- typedef IP UNALIGNED * ULPIP;
- // Psuedo Header used for CheckSum Calculations
- typedef struct _PSUHDR
- {
- DWORD ph_SrcIP;
- DWORD ph_DstIP;
- UCHAR ph_Zero;
- UCHAR ph_Proto;
- WORD ph_ProtLen;
- } PSUHDR;
- typedef PSUHDR UNALIGNED * LPPSUHDR;
- //
- // IP Bitmasks that are useful
- // (and the appropriate bit shifts, as well)
- //
- #define IP_VERSION_MASK ((BYTE) 0xf0)
- #define IP_VERSION_SHIFT (4)
- #define IP_HDRLEN_MASK ((BYTE) 0x0f)
- #define IP_HDRLEN_SHIFT (0)
- #define IP_PRECEDENCE_MASK ((BYTE) 0xE0)
- #define IP_PRECEDENCE_SHIFT (5)
- #define IP_TOS_MASK ((BYTE) 0x1E)
- #define IP_TOS_SHIFT (1)
- #define IP_DELAY_MASK ((BYTE) 0x10)
- #define IP_THROUGHPUT_MASK ((BYTE) 0x08)
- #define IP_RELIABILITY_MASK ((BYTE) 0x04)
- #define IP_FLAGS_MASK ((BYTE) 0xE0)
- #define IP_FLAGS_SHIFT (13)
- #define IP_DF_MASK ((BYTE) 0x40)
- #define IP_MF_MASK ((BYTE) 0x20)
- #define IP_MF_SHIFT (5)
- #define IP_FRAGOFF_MASK ((WORD) 0x1FFF)
- #define IP_FRAGOFF_SHIFT (3)
- #define IP_TCC_MASK ((DWORD) 0xFFFFFF00)
- #define IP_TIME_OPTS_MASK ((BYTE) 0x0F)
- #define IP_MISS_STNS_MASK ((BYTE) 0xF0)
- #define IP_TIME_OPTS_SHIFT (0)
- #define IP_MISS_STNS_SHIFT (4)
- //
- // Offset to checksum field in ip header
- //
- #define IP_CHKSUM_OFF 10
- INLINE BYTE IP_Version(ULPIP pIP)
- {
- return (pIP->Version & IP_VERSION_MASK) >> IP_VERSION_SHIFT;
- }
- INLINE DWORD IP_HdrLen(ULPIP pIP)
- {
- return ((pIP->HdrLen & IP_HDRLEN_MASK) >> IP_HDRLEN_SHIFT) << 2;
- }
- INLINE WORD IP_FragOff(ULPIP pIP)
- {
- return (XCHG(pIP->FragOff) & IP_FRAGOFF_MASK) << IP_FRAGOFF_SHIFT;
- }
- INLINE DWORD IP_TotalLen(ULPIP pIP)
- {
- return XCHG(pIP->TotalLen);
- }
- INLINE DWORD IP_MoreFragments(ULPIP pIP)
- {
- return (pIP->Flags & IP_MF_MASK) >> IP_MF_SHIFT;
- }
- //
- // Well known ports in the TCP/IP protocol (See RFC 1060)
- //
- #define PORT_TCPMUX 1 // TCP Port Service Multiplexer
- #define PORT_RJE 5 // Remote Job Entry
- #define PORT_ECHO 7 // Echo
- #define PORT_DISCARD 9 // Discard
- #define PORT_USERS 11 // Active users
- #define PORT_DAYTIME 13 // Daytime
- #define PORT_NETSTAT 15 // Netstat
- #define PORT_QUOTE 17 // Quote of the day
- #define PORT_CHARGEN 19 // Character Generator
- #define PORT_FTPDATA 20 // File transfer [default data]
- #define PORT_FTP 21 // File transfer [Control]
- #define PORT_TELNET 23 // Telnet
- #define PORT_SMTP 25 // Simple Mail Transfer
- #define PORT_NSWFE 27 // NSW User System FE
- #define PORT_MSGICP 29 // MSG ICP
- #define PORT_MSGAUTH 31 // MSG Authentication
- #define PORT_DSP 33 // Display Support
- #define PORT_PRTSERVER 35 // any private printer server
- #define PORT_TIME 37 // Time
- #define PORT_RLP 39 // Resource Location Protocol
- #define PORT_GRAPHICS 41 // Graphics
- #define PORT_NAMESERVER 42 // Host Name Server
- #define PORT_NICNAME 43 // Who is
- #define PORT_MPMFLAGS 44 // MPM Flags
- #define PORT_MPM 45 // Message Processing Module [recv]
- #define PORT_MPMSND 46 // MPM [default send]
- #define PORT_NIFTP 47 // NI FTP
- #define PORT_LOGIN 49 // Login Host Protocol
- #define PORT_LAMAINT 51 // IMP Logical Address Maintenance
- #define PORT_DOMAIN 53 // Domain Name Server
- #define PORT_ISIGL 55 // ISI Graphics Language
- #define PORT_ANYTERMACC 57 // any private terminal access
- #define PORT_ANYFILESYS 59 // any private file service
- #define PORT_NIMAIL 61 // NI Mail
- #define PORT_VIAFTP 63 // VIA Systems - FTP
- #define PORT_TACACSDS 65 // TACACS - Database Service
- #define PORT_BOOTPS 67 // Bootstrap Protocol server
- #define PORT_BOOTPC 68 // Bootstrap Protocol client
- #define PORT_TFTP 69 // Trivial File Transfer
- #define PORT_NETRJS1 71 // Remote Job service
- #define PORT_NETRJS2 72 // Remote Job service
- #define PORT_NETRJS3 73 // Remote Job service
- #define PORT_NETRJS4 74 // Remote Job service
- #define PORT_ANYDIALOUT 75 // any private dial out service
- #define PORT_ANYRJE 77 // any private RJE service
- #define PORT_FINGER 79 // Finger
- #define PORT_HTTP 80 // HTTP (www)
- #define PORT_HOSTS2NS 81 // Hosts2 Name Server
- #define PORT_MITMLDEV1 83 // MIT ML Device
- #define PORT_MITMLDEV2 85 // MIT ML Device
- #define PORT_ANYTERMLINK 87 // any private terminal link
- #define PORT_SUMITTG 89 // SU/MIT Telnet Gateway
- #define PORT_MITDOV 91 // MIT Dover Spooler
- #define PORT_DCP 93 // Device Control Protocol
- #define PORT_SUPDUP 95 // SUPDUP
- #define PORT_SWIFTRVF 97 // Swift Remote Vitural File Protocol
- #define PORT_TACNEWS 98 // TAC News
- #define PORT_METAGRAM 99 // Metagram Relay
- #define PORT_NEWACCT 100 // [Unauthorized use]
- #define PORT_HOSTNAME 101 // NIC Host Name Server
- #define PORT_ISOTSAP 102 // ISO-TSAP
- #define PORT_X400 103 // X400
- #define PORT_X400SND 104 // X400 - SND
- #define PORT_CSNETNS 105 // Mailbox Name Nameserver
- #define PORT_RTELNET 107 // Remote Telnet Service
- #define PORT_POP2 109 // Post Office Protocol - version 2
- #define PORT_POP3 110 // Post Office Protocol - version 3
- #define PORT_SUNRPC 111 // SUN Remote Procedure Call
- #define PORT_AUTH 113 // Authentication
- #define PORT_SFTP 115 // Simple File Transfer Protocol
- #define PORT_UUCPPATH 117 // UUCP Path Service
- #define PORT_NNTP 119 // Network News Transfer Protocol
- #define PORT_ERPC 121 // Encore Expedited Remote Proc. Call
- #define PORT_NTP 123 // Network Time Protocol
- #define PORT_LOCUSMAP 125 // Locus PC-Interface Net Map Sesrver
- #define PORT_LOCUSCON 127 // Locus PC-Interface Conn Server
- #define PORT_PWDGEN 129 // Password Generator Protocol
- #define PORT_CISCOFNA 130 // CISCO FNATIVE
- #define PORT_CISCOTNA 131 // CISCO TNATIVE
- #define PORT_CISCOSYS 132 // CISCO SYSMAINT
- #define PORT_STATSRV 133 // Statistics Service
- #define PORT_INGRESNET 134 // Ingres net service
- #define PORT_LOCSRV 135 // Location Service
- #define PORT_PROFILE 136 // PROFILE Naming System
- #define PORT_NETBIOSNS 137 // NETBIOS Name Service
- #define PORT_NETBIOSDGM 138 // NETBIOS Datagram Service
- #define PORT_NETBIOSSSN 139 // NETBIOS Session Service
- #define PORT_EMFISDATA 140 // EMFIS Data Service
- #define PORT_EMFISCNTL 141 // EMFIS Control Service
- #define PORT_BLIDM 142 // Britton-Lee IDM
- #define PORT_IMAP2 143 // Interim Mail Access Protocol v2
- #define PORT_NEWS 144 // NewS
- #define PORT_UAAC 145 // UAAC protocol
- #define PORT_ISOTP0 146 // ISO-IP0
- #define PORT_ISOIP 147 // ISO-IP
- #define PORT_CRONUS 148 // CRONUS-Support
- #define PORT_AED512 149 // AED 512 Emulation Service
- #define PORT_SQLNET 150 // SQL-NET
- #define PORT_HEMS 151 // HEMS
- #define PORT_BFTP 152 // Background File Transfer Protocol
- #define PORT_SGMP 153 // SGMP
- #define PORT_NETSCPROD 154 // NETSC
- #define PORT_NETSCDEV 155 // NETSC
- #define PORT_SQLSRV 156 // SQL service
- #define PORT_KNETCMP 157 // KNET/VM Command/Message Protocol
- #define PORT_PCMAILSRV 158 // PCMail server
- #define PORT_NSSROUTING 159 // NSS routing
- #define PORT_SGMPTRAPS 160 // SGMP-TRAPS
- #define PORT_SNMP 161 // SNMP
- #define PORT_SNMPTRAP 162 // SNMPTRAP
- #define PORT_CMIPMANAGE 163 // CMIP/TCP Manager
- #define PORT_CMIPAGENT 164 // CMIP/TCP Agent
- #define PORT_XNSCOURIER 165 // Xerox
- #define PORT_SNET 166 // Sirius Systems
- #define PORT_NAMP 167 // NAMP
- #define PORT_RSVD 168 // RSVC
- #define PORT_SEND 169 // SEND
- #define PORT_PRINTSRV 170 // Network Postscript
- #define PORT_MULTIPLEX 171 // Network Innovations Multiples
- #define PORT_CL1 172 // Network Innovations CL/1
- #define PORT_XYPLEXMUX 173 // Xyplex
- #define PORT_MAILQ 174 // MAILQ
- #define PORT_VMNET 175 // VMNET
- #define PORT_GENRADMUX 176 // GENRAD-MUX
- #define PORT_XDMCP 177 // X Display Manager Control Protocol
- #define PORT_NEXTSTEP 178 // NextStep Window Server
- #define PORT_BGP 179 // Border Gateway Protocol
- #define PORT_RIS 180 // Intergraph
- #define PORT_UNIFY 181 // Unify
- #define PORT_UNISYSCAM 182 // Unisys-Cam
- #define PORT_OCBINDER 183 // OCBinder
- #define PORT_OCSERVER 184 // OCServer
- #define PORT_REMOTEKIS 185 // Remote-KIS
- #define PORT_KIS 186 // KIS protocol
- #define PORT_ACI 187 // Application Communication Interface
- #define PORT_MUMPS 188 // MUMPS
- #define PORT_QFT 189 // Queued File Transport
- #define PORT_GACP 190 // Gateway Access Control Protocol
- #define PORT_PROSPERO 191 // Prospero
- #define PORT_OSUNMS 192 // OSU Network Monitoring System
- #define PORT_SRMP 193 // Spider Remote Monitoring Protocol
- #define PORT_IRC 194 // Internet Relay Chat Protocol
- #define PORT_DN6NLMAUD 195 // DNSIX Network Level Module Audit
- #define PORT_DN6SMMRED 196 // DSNIX Session Mgt Module Audit Redirector
- #define PORT_DLS 197 // Directory Location Service
- #define PORT_DLSMON 198 // Directory Location Service Monitor
- #define PORT_ATRMTP 201 // AppleTalk Routing Maintenance
- #define PORT_ATNBP 202 // AppleTalk Name Binding
- #define PORT_AT3 203 // AppleTalk Unused
- #define PORT_ATECHO 204 // AppleTalk Echo
- #define PORT_AT5 205 // AppleTalk Unused
- #define PORT_ATZIS 206 // AppleTalk Zone Information
- #define PORT_AT7 207 // AppleTalk Unused
- #define PORT_AT8 208 // AppleTalk Unused
- #define PORT_SURMEAS 243 // Survey Measurement
- #define PORT_LINK 245 // LINK
- #define PORT_DSP3270 246 // Display Systems Protocol
- #define PORT_LDAP1 389 // LDAP
- #define PORT_ISAKMP 500 // ISAKMP
- #define PORT_REXEC 512 // Remote Process Execution
- #define PORT_RLOGIN 513 // Remote login a la telnet
- #define PORT_RSH 514 // Remote command
- #define PORT_LPD 515 // Line printer spooler - LPD
- #define PORT_RIP 520 // TCP=? / UDP=RIP
- #define PORT_TEMPO 526 // Newdate
- #define PORT_COURIER 530 // rpc
- #define PORT_NETNEWS 532 // READNEWS
- #define PORT_UUCPD 540 // UUCPD
- #define PORT_KLOGIN 543 //
- #define PORT_KSHELL 544 // krcmd
- #define PORT_DSF 555 //
- #define PORT_REMOTEEFS 556 // RFS server
- #define PORT_CHSHELL 562 // chmod
- #define PORT_METER 570 // METER
- #define PORT_PCSERVER 600 // SUN IPC Server
- #define PORT_NQS 607 // NQS
- #define PORT_HMMP_INDICATION 612 //
- #define PORT_HMMP_OPERATION 613 //
- #define PORT_MDQS 666 // MDQS
- #define PORT_LPD721 721 // LPD Client (lpd client ports 721 - 731)
- #define PORT_LPD722 722 // LPD Client (see RFC 1179)
- #define PORT_LPD723 723 // LPD Client
- #define PORT_LPD724 724 // LPD Client
- #define PORT_LPD725 725 // LPD Client
- #define PORT_LPD726 726 // LPD Client
- #define PORT_LPD727 727 // LPD Client
- #define PORT_LPD728 728 // LPD Client
- #define PORT_LPD729 729 // LPD Client
- #define PORT_LPD730 730 // LPD Client
- #define PORT_LPD731 731 // LPD Client
- #define PORT_RFILE 750 // RFILE
- #define PORT_PUMP 751 // PUMP
- #define PORT_QRH 752 // QRH
- #define PORT_RRH 753 // RRH
- #define PORT_TELL 754 // TELL
- #define PORT_NLOGIN 758 // NLOGIN
- #define PORT_CON 759 // CON
- #define PORT_NS 760 // NS
- #define PORT_RXE 761 // RXE
- #define PORT_QUOTAD 762 // QUOTAD
- #define PORT_CYCLESERV 763 // CYCLESERV
- #define PORT_OMSERV 764 // OMSERV
- #define PORT_WEBSTER 765 // WEBSTER
- #define PORT_PHONEBOOK 767 // PHONE
- #define PORT_VID 769 // VID
- #define PORT_RTIP 771 // RTIP
- #define PORT_CYCLESERV2 772 // CYCLESERV-2
- #define PORT_SUBMIT 773 // submit
- #define PORT_RPASSWD 774 // RPASSWD
- #define PORT_ENTOMB 775 // ENTOMB
- #define PORT_WPAGES 776 // WPAGES
- #define PORT_WPGS 780 // wpgs
- #define PORT_MDBSDAEMON 800 // MDBS DAEMON
- #define PORT_DEVICE 801 // DEVICE
- #define PORT_MAITRD 997 // MAITRD
- #define PORT_BUSBOY 998 // BUSBOY
- #define PORT_GARCON 999 // GARCON
- #define PORT_NFS 2049 // NFS
- #define PORT_LDAP2 3268 // LDAP
- #define PORT_PPTP 5678 // PPTP
- //=============================================================================
- //=============================================================================
- // (NMIcmpStructs.h)
- //=============================================================================
- //=============================================================================
- //
- // ICMP Frame Structure
- //
- typedef struct _RequestReplyFields
- {
- WORD ID;
- WORD SeqNo;
- } ReqReply;
- typedef struct _ParameterProblemFields
- {
- BYTE Pointer;
- BYTE junk[ 3 ];
- } ParmProb;
- typedef struct _TimestampFields
- {
- DWORD tsOrig;
- DWORD tsRecv;
- DWORD tsXmit;
- } TS;
- typedef struct _RouterAnnounceHeaderFields
- {
- BYTE NumAddrs;
- BYTE AddrEntrySize;
- WORD Lifetime;
- } RouterAH;
- typedef struct _RouterAnnounceEntry
- {
- DWORD Address;
- DWORD PreferenceLevel;
- } RouterAE;
- typedef struct _ICMP
- {
- BYTE Type;
- BYTE Code;
- WORD Checksum;
- union
- {
- DWORD Unused;
- DWORD Address;
- ReqReply RR;
- ParmProb PP;
- RouterAH RAH;
- };
- union
- {
- TS Time;
- IP IP;
- RouterAE RAE[0];
- };
- } ICMP;
- typedef ICMP * LPICMP;
- typedef ICMP UNALIGNED * ULPICMP;
- #define ICMP_HEADER_LENGTH ( 8 )
- // # of *BYTES* of IP data to attach to
- // datagram in addition to IP header
- #define ICMP_IP_DATA_LENGTH ( 8 )
- //
- // ICMP Packet Types
- //
- #define ECHO_REPLY ( 0 )
- #define DESTINATION_UNREACHABLE ( 3 )
- #define SOURCE_QUENCH ( 4 )
- #define REDIRECT ( 5 )
- #define ECHO ( 8 )
- #define ROUTER_ADVERTISEMENT ( 9 )
- #define ROUTER_SOLICITATION ( 10 )
- #define TIME_EXCEEDED ( 11 )
- #define PARAMETER_PROBLEM ( 12 )
- #define TIMESTAMP ( 13 )
- #define TIMESTAMP_REPLY ( 14 )
- #define INFORMATION_REQUEST ( 15 )
- #define INFORMATION_REPLY ( 16 )
- #define ADDRESS_MASK_REQUEST ( 17 )
- #define ADDRESS_MASK_REPLY ( 18 )
- //=============================================================================
- //=============================================================================
- // (NMIpxStructs.h)
- //=============================================================================
- //=============================================================================
- // IPX
- typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_netmon_0000_0024
- {
- UCHAR ha_address[ 6 ];
- } HOST_ADDRESS;
- typedef struct _IPXADDRESS
- {
- ULONG ipx_NetNumber;
- HOST_ADDRESS ipx_HostAddr;
- } IPXADDRESS;
- typedef IPXADDRESS UNALIGNED * PIPXADDRESS;
- typedef struct _NET_ADDRESS
- {
- IPXADDRESS na_IPXAddr;
- USHORT na_socket;
- } NET_ADDRESS;
- typedef NET_ADDRESS UNALIGNED * UPNET_ADDRESS;
- // IPX Internetwork Packet eXchange Protocol Header.
- typedef /* [public][public] */ struct __MIDL___MIDL_itf_netmon_0000_0025
- {
- USHORT ipx_checksum;
- USHORT ipx_length;
- UCHAR ipx_xport_control;
- UCHAR ipx_packet_type;
- NET_ADDRESS ipx_dest;
- NET_ADDRESS ipx_source;
- } IPX_HDR;
- typedef IPX_HDR UNALIGNED * ULPIPX_HDR;
- // SPX - Sequenced Packet Protocol
- typedef struct _SPX_HDR
- {
- IPX_HDR spx_idp_hdr;
- UCHAR spx_conn_ctrl;
- UCHAR spx_data_type;
- USHORT spx_src_conn_id;
- USHORT spx_dest_conn_id;
- USHORT spx_sequence_num;
- USHORT spx_ack_num;
- USHORT spx_alloc_num;
- } SPX_HDR;
- typedef SPX_HDR UNALIGNED *PSPX_HDR;
- //=============================================================================
- //=============================================================================
- // (NMTcpStructs.h)
- //=============================================================================
- //=============================================================================
- //
- // TCP Packet Structure
- //
- typedef struct _TCP
- {
- WORD SrcPort;
- WORD DstPort;
- DWORD SeqNum;
- DWORD AckNum;
- BYTE DataOff;
- BYTE Flags;
- WORD Window;
- WORD Chksum;
- WORD UrgPtr;
- } TCP;
- typedef TCP *LPTCP;
- typedef TCP UNALIGNED * ULPTCP;
- INLINE DWORD TCP_HdrLen(ULPTCP pTCP)
- {
- return (pTCP->DataOff & 0xf0) >> 2;
- }
- INLINE DWORD TCP_SrcPort(ULPTCP pTCP)
- {
- return XCHG(pTCP->SrcPort);
- }
- INLINE DWORD TCP_DstPort(ULPTCP pTCP)
- {
- return XCHG(pTCP->DstPort);
- }
- //
- // TCP Option Opcodes
- //
- #define TCP_OPTION_ENDOFOPTIONS ( 0 )
- #define TCP_OPTION_NOP ( 1 )
- #define TCP_OPTION_MAXSEGSIZE ( 2 )
- #define TCP_OPTION_WSCALE ( 3 )
- #define TCP_OPTION_SACK_PERMITTED ( 4 )
- #define TCP_OPTION_SACK ( 5 )
- #define TCP_OPTION_TIMESTAMPS ( 8 )
- //
- // TCP Flags
- //
- #define TCP_FLAG_URGENT ( 0x20 )
- #define TCP_FLAG_ACK ( 0x10 )
- #define TCP_FLAG_PUSH ( 0x8 )
- #define TCP_FLAG_RESET ( 0x4 )
- #define TCP_FLAG_SYN ( 0x2 )
- #define TCP_FLAG_FIN ( 0x1 )
- //
- // TCP Field Masks
- //
- #define TCP_RESERVED_MASK ( 0xfc0 )
- #pragma pack(pop)
- //****************************************************************************
- //****************************************************************************
- // IDelaydC - used by a consumer to get frames after a capture has completed.
- //****************************************************************************
- //****************************************************************************
- #define DEFAULT_DELAYED_BUFFER_SIZE ( 1 )
- #define USE_DEFAULT_DRIVE_LETTER ( 0 )
- #define RTC_FRAME_SIZE_FULL ( 0 )
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0000_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0000_v0_0_s_ifspec;
- #ifndef __IDelaydC_INTERFACE_DEFINED__
- #define __IDelaydC_INTERFACE_DEFINED__
- /* interface IDelaydC */
- /* [local][unique][uuid][object] */
- EXTERN_C const IID IID_IDelaydC;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("BFF9C030-B58F-11ce-B5B0-00AA006CB37D")
- IDelaydC : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Connect(
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStatus(
- /* [out] */ NETWORKSTATUS *pNetworkStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Configure(
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Start(
- /* [out] */ char *pFileName) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop(
- /* [out] */ LPSTATISTICS lpStats) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetControlState(
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalStatistics(
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetConversationStatistics(
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InsertSpecialFrame(
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStations(
- /* [out][in] */ QUERYTABLE *lpQueryTable) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IDelaydCVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IDelaydC * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IDelaydC * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IDelaydC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Connect )(
- IDelaydC * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Disconnect )(
- IDelaydC * This);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
- IDelaydC * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Configure )(
- IDelaydC * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Start )(
- IDelaydC * This,
- /* [out] */ char *pFileName);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IDelaydC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IDelaydC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IDelaydC * This,
- /* [out] */ LPSTATISTICS lpStats);
-
- HRESULT ( STDMETHODCALLTYPE *GetControlState )(
- IDelaydC * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalStatistics )(
- IDelaydC * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *GetConversationStatistics )(
- IDelaydC * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *InsertSpecialFrame )(
- IDelaydC * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStations )(
- IDelaydC * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
-
- END_INTERFACE
- } IDelaydCVtbl;
- interface IDelaydC
- {
- CONST_VTBL struct IDelaydCVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IDelaydC_QueryInterface(This,riid,ppvObject)
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
- #define IDelaydC_AddRef(This)
- (This)->lpVtbl -> AddRef(This)
- #define IDelaydC_Release(This)
- (This)->lpVtbl -> Release(This)
- #define IDelaydC_Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- (This)->lpVtbl -> Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- #define IDelaydC_Disconnect(This)
- (This)->lpVtbl -> Disconnect(This)
- #define IDelaydC_QueryStatus(This,pNetworkStatus)
- (This)->lpVtbl -> QueryStatus(This,pNetworkStatus)
- #define IDelaydC_Configure(This,hConfigurationBlob,hErrorBlob)
- (This)->lpVtbl -> Configure(This,hConfigurationBlob,hErrorBlob)
- #define IDelaydC_Start(This,pFileName)
- (This)->lpVtbl -> Start(This,pFileName)
- #define IDelaydC_Pause(This)
- (This)->lpVtbl -> Pause(This)
- #define IDelaydC_Resume(This)
- (This)->lpVtbl -> Resume(This)
- #define IDelaydC_Stop(This,lpStats)
- (This)->lpVtbl -> Stop(This,lpStats)
- #define IDelaydC_GetControlState(This,IsRunnning,IsPaused)
- (This)->lpVtbl -> GetControlState(This,IsRunnning,IsPaused)
- #define IDelaydC_GetTotalStatistics(This,lpStats,fClearAfterReading)
- (This)->lpVtbl -> GetTotalStatistics(This,lpStats,fClearAfterReading)
- #define IDelaydC_GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- (This)->lpVtbl -> GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- #define IDelaydC_InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- (This)->lpVtbl -> InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- #define IDelaydC_QueryStations(This,lpQueryTable)
- (This)->lpVtbl -> QueryStations(This,lpQueryTable)
- #endif /* COBJMACROS */
- #endif /* C style interface */
- HRESULT STDMETHODCALLTYPE IDelaydC_Connect_Proxy(
- IDelaydC * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IDelaydC_Connect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Disconnect_Proxy(
- IDelaydC * This);
- void __RPC_STUB IDelaydC_Disconnect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_QueryStatus_Proxy(
- IDelaydC * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
- void __RPC_STUB IDelaydC_QueryStatus_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Configure_Proxy(
- IDelaydC * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IDelaydC_Configure_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Start_Proxy(
- IDelaydC * This,
- /* [out] */ char *pFileName);
- void __RPC_STUB IDelaydC_Start_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Pause_Proxy(
- IDelaydC * This);
- void __RPC_STUB IDelaydC_Pause_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Resume_Proxy(
- IDelaydC * This);
- void __RPC_STUB IDelaydC_Resume_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_Stop_Proxy(
- IDelaydC * This,
- /* [out] */ LPSTATISTICS lpStats);
- void __RPC_STUB IDelaydC_Stop_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_GetControlState_Proxy(
- IDelaydC * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
- void __RPC_STUB IDelaydC_GetControlState_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_GetTotalStatistics_Proxy(
- IDelaydC * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IDelaydC_GetTotalStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_GetConversationStatistics_Proxy(
- IDelaydC * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IDelaydC_GetConversationStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_InsertSpecialFrame_Proxy(
- IDelaydC * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
- void __RPC_STUB IDelaydC_InsertSpecialFrame_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IDelaydC_QueryStations_Proxy(
- IDelaydC * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
- void __RPC_STUB IDelaydC_QueryStations_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- #endif /* __IDelaydC_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_netmon_0010 */
- /* [local] */
- //****************************************************************************
- //****************************************************************************
- // IESP - used by a consumer to get extended statistics, no frames.
- //****************************************************************************
- //****************************************************************************
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0010_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0010_v0_0_s_ifspec;
- #ifndef __IESP_INTERFACE_DEFINED__
- #define __IESP_INTERFACE_DEFINED__
- /* interface IESP */
- /* [local][unique][uuid][object] */
- EXTERN_C const IID IID_IESP;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("E99A04AA-AB95-11d0-BE96-00A0C94989DE")
- IESP : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Connect(
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStatus(
- /* [out] */ NETWORKSTATUS *pNetworkStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Configure(
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Start(
- /* [out][string] */ char *pFileName) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause(
- /* [out] */ LPSTATISTICS lpStats) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop(
- /* [out] */ LPSTATISTICS lpStats) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetControlState(
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStations(
- /* [out][in] */ QUERYTABLE *lpQueryTable) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IESPVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IESP * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IESP * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IESP * This);
-
- HRESULT ( STDMETHODCALLTYPE *Connect )(
- IESP * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Disconnect )(
- IESP * This);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
- IESP * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Configure )(
- IESP * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Start )(
- IESP * This,
- /* [out][string] */ char *pFileName);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IESP * This,
- /* [out] */ LPSTATISTICS lpStats);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IESP * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IESP * This,
- /* [out] */ LPSTATISTICS lpStats);
-
- HRESULT ( STDMETHODCALLTYPE *GetControlState )(
- IESP * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStations )(
- IESP * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
-
- END_INTERFACE
- } IESPVtbl;
- interface IESP
- {
- CONST_VTBL struct IESPVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IESP_QueryInterface(This,riid,ppvObject)
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
- #define IESP_AddRef(This)
- (This)->lpVtbl -> AddRef(This)
- #define IESP_Release(This)
- (This)->lpVtbl -> Release(This)
- #define IESP_Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- (This)->lpVtbl -> Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- #define IESP_Disconnect(This)
- (This)->lpVtbl -> Disconnect(This)
- #define IESP_QueryStatus(This,pNetworkStatus)
- (This)->lpVtbl -> QueryStatus(This,pNetworkStatus)
- #define IESP_Configure(This,hConfigurationBlob,hErrorBlob)
- (This)->lpVtbl -> Configure(This,hConfigurationBlob,hErrorBlob)
- #define IESP_Start(This,pFileName)
- (This)->lpVtbl -> Start(This,pFileName)
- #define IESP_Pause(This,lpStats)
- (This)->lpVtbl -> Pause(This,lpStats)
- #define IESP_Resume(This)
- (This)->lpVtbl -> Resume(This)
- #define IESP_Stop(This,lpStats)
- (This)->lpVtbl -> Stop(This,lpStats)
- #define IESP_GetControlState(This,IsRunnning,IsPaused)
- (This)->lpVtbl -> GetControlState(This,IsRunnning,IsPaused)
- #define IESP_QueryStations(This,lpQueryTable)
- (This)->lpVtbl -> QueryStations(This,lpQueryTable)
- #endif /* COBJMACROS */
- #endif /* C style interface */
- HRESULT STDMETHODCALLTYPE IESP_Connect_Proxy(
- IESP * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IESP_Connect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Disconnect_Proxy(
- IESP * This);
- void __RPC_STUB IESP_Disconnect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_QueryStatus_Proxy(
- IESP * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
- void __RPC_STUB IESP_QueryStatus_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Configure_Proxy(
- IESP * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IESP_Configure_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Start_Proxy(
- IESP * This,
- /* [out][string] */ char *pFileName);
- void __RPC_STUB IESP_Start_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Pause_Proxy(
- IESP * This,
- /* [out] */ LPSTATISTICS lpStats);
- void __RPC_STUB IESP_Pause_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Resume_Proxy(
- IESP * This);
- void __RPC_STUB IESP_Resume_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_Stop_Proxy(
- IESP * This,
- /* [out] */ LPSTATISTICS lpStats);
- void __RPC_STUB IESP_Stop_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_GetControlState_Proxy(
- IESP * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
- void __RPC_STUB IESP_GetControlState_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IESP_QueryStations_Proxy(
- IESP * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
- void __RPC_STUB IESP_QueryStations_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- #endif /* __IESP_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_netmon_0012 */
- /* [local] */
- //****************************************************************************
- //****************************************************************************
- // IRTC - used by a consumer to get an interface to local entry points
- // necessary to do real time capture processing. It includes a method
- // for handing a callback to the NPP.
- //****************************************************************************
- //****************************************************************************
- #define DEFAULT_RTC_BUFFER_SIZE ( 0x100000 )
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0012_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0012_v0_0_s_ifspec;
- #ifndef __IRTC_INTERFACE_DEFINED__
- #define __IRTC_INTERFACE_DEFINED__
- /* interface IRTC */
- /* [local][unique][uuid][object] */
- EXTERN_C const IID IID_IRTC;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("4811EA40-B582-11ce-B5AF-00AA006CB37D")
- IRTC : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Connect(
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID FramesCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStatus(
- /* [out] */ NETWORKSTATUS *pNetworkStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Configure(
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetControlState(
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalStatistics(
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetConversationStatistics(
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InsertSpecialFrame(
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStations(
- /* [out][in] */ QUERYTABLE *lpQueryTable) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IRTCVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IRTC * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IRTC * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Connect )(
- IRTC * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID FramesCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Disconnect )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
- IRTC * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Configure )(
- IRTC * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Start )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IRTC * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetControlState )(
- IRTC * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalStatistics )(
- IRTC * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *GetConversationStatistics )(
- IRTC * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *InsertSpecialFrame )(
- IRTC * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStations )(
- IRTC * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
-
- END_INTERFACE
- } IRTCVtbl;
- interface IRTC
- {
- CONST_VTBL struct IRTCVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IRTC_QueryInterface(This,riid,ppvObject)
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
- #define IRTC_AddRef(This)
- (This)->lpVtbl -> AddRef(This)
- #define IRTC_Release(This)
- (This)->lpVtbl -> Release(This)
- #define IRTC_Connect(This,hInputBlob,StatusCallbackProc,FramesCallbackProc,UserContext,hErrorBlob)
- (This)->lpVtbl -> Connect(This,hInputBlob,StatusCallbackProc,FramesCallbackProc,UserContext,hErrorBlob)
- #define IRTC_Disconnect(This)
- (This)->lpVtbl -> Disconnect(This)
- #define IRTC_QueryStatus(This,pNetworkStatus)
- (This)->lpVtbl -> QueryStatus(This,pNetworkStatus)
- #define IRTC_Configure(This,hConfigurationBlob,hErrorBlob)
- (This)->lpVtbl -> Configure(This,hConfigurationBlob,hErrorBlob)
- #define IRTC_Start(This)
- (This)->lpVtbl -> Start(This)
- #define IRTC_Pause(This)
- (This)->lpVtbl -> Pause(This)
- #define IRTC_Resume(This)
- (This)->lpVtbl -> Resume(This)
- #define IRTC_Stop(This)
- (This)->lpVtbl -> Stop(This)
- #define IRTC_GetControlState(This,IsRunnning,IsPaused)
- (This)->lpVtbl -> GetControlState(This,IsRunnning,IsPaused)
- #define IRTC_GetTotalStatistics(This,lpStats,fClearAfterReading)
- (This)->lpVtbl -> GetTotalStatistics(This,lpStats,fClearAfterReading)
- #define IRTC_GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- (This)->lpVtbl -> GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- #define IRTC_InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- (This)->lpVtbl -> InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- #define IRTC_QueryStations(This,lpQueryTable)
- (This)->lpVtbl -> QueryStations(This,lpQueryTable)
- #endif /* COBJMACROS */
- #endif /* C style interface */
- HRESULT STDMETHODCALLTYPE IRTC_Connect_Proxy(
- IRTC * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID FramesCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IRTC_Connect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Disconnect_Proxy(
- IRTC * This);
- void __RPC_STUB IRTC_Disconnect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_QueryStatus_Proxy(
- IRTC * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
- void __RPC_STUB IRTC_QueryStatus_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Configure_Proxy(
- IRTC * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IRTC_Configure_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Start_Proxy(
- IRTC * This);
- void __RPC_STUB IRTC_Start_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Pause_Proxy(
- IRTC * This);
- void __RPC_STUB IRTC_Pause_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Resume_Proxy(
- IRTC * This);
- void __RPC_STUB IRTC_Resume_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_Stop_Proxy(
- IRTC * This);
- void __RPC_STUB IRTC_Stop_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_GetControlState_Proxy(
- IRTC * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
- void __RPC_STUB IRTC_GetControlState_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_GetTotalStatistics_Proxy(
- IRTC * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IRTC_GetTotalStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_GetConversationStatistics_Proxy(
- IRTC * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IRTC_GetConversationStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_InsertSpecialFrame_Proxy(
- IRTC * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
- void __RPC_STUB IRTC_InsertSpecialFrame_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IRTC_QueryStations_Proxy(
- IRTC * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
- void __RPC_STUB IRTC_QueryStations_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- #endif /* __IRTC_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_netmon_0014 */
- /* [local] */
- //****************************************************************************
- //****************************************************************************
- // IStats - used by a consumer to get just statistics, no frames.
- //****************************************************************************
- //****************************************************************************
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0014_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0014_v0_0_s_ifspec;
- #ifndef __IStats_INTERFACE_DEFINED__
- #define __IStats_INTERFACE_DEFINED__
- /* interface IStats */
- /* [local][unique][uuid][object] */
- EXTERN_C const IID IID_IStats;
- #if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("944AD530-B09D-11ce-B59C-00AA006CB37D")
- IStats : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Connect(
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStatus(
- /* [out] */ NETWORKSTATUS *pNetworkStatus) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Configure(
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetControlState(
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetTotalStatistics(
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetConversationStatistics(
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InsertSpecialFrame(
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE QueryStations(
- /* [out][in] */ QUERYTABLE *lpQueryTable) = 0;
-
- };
-
- #else /* C style interface */
- typedef struct IStatsVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IStats * This,
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IStats * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *Connect )(
- IStats * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Disconnect )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
- IStats * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
-
- HRESULT ( STDMETHODCALLTYPE *Configure )(
- IStats * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
-
- HRESULT ( STDMETHODCALLTYPE *Start )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *Pause )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *Resume )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *Stop )(
- IStats * This);
-
- HRESULT ( STDMETHODCALLTYPE *GetControlState )(
- IStats * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
-
- HRESULT ( STDMETHODCALLTYPE *GetTotalStatistics )(
- IStats * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *GetConversationStatistics )(
- IStats * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
-
- HRESULT ( STDMETHODCALLTYPE *InsertSpecialFrame )(
- IStats * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
-
- HRESULT ( STDMETHODCALLTYPE *QueryStations )(
- IStats * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
-
- END_INTERFACE
- } IStatsVtbl;
- interface IStats
- {
- CONST_VTBL struct IStatsVtbl *lpVtbl;
- };
-
- #ifdef COBJMACROS
- #define IStats_QueryInterface(This,riid,ppvObject)
- (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
- #define IStats_AddRef(This)
- (This)->lpVtbl -> AddRef(This)
- #define IStats_Release(This)
- (This)->lpVtbl -> Release(This)
- #define IStats_Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- (This)->lpVtbl -> Connect(This,hInputBlob,StatusCallbackProc,UserContext,hErrorBlob)
- #define IStats_Disconnect(This)
- (This)->lpVtbl -> Disconnect(This)
- #define IStats_QueryStatus(This,pNetworkStatus)
- (This)->lpVtbl -> QueryStatus(This,pNetworkStatus)
- #define IStats_Configure(This,hConfigurationBlob,hErrorBlob)
- (This)->lpVtbl -> Configure(This,hConfigurationBlob,hErrorBlob)
- #define IStats_Start(This)
- (This)->lpVtbl -> Start(This)
- #define IStats_Pause(This)
- (This)->lpVtbl -> Pause(This)
- #define IStats_Resume(This)
- (This)->lpVtbl -> Resume(This)
- #define IStats_Stop(This)
- (This)->lpVtbl -> Stop(This)
- #define IStats_GetControlState(This,IsRunnning,IsPaused)
- (This)->lpVtbl -> GetControlState(This,IsRunnning,IsPaused)
- #define IStats_GetTotalStatistics(This,lpStats,fClearAfterReading)
- (This)->lpVtbl -> GetTotalStatistics(This,lpStats,fClearAfterReading)
- #define IStats_GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- (This)->lpVtbl -> GetConversationStatistics(This,nSessions,lpSessionStats,nStations,lpStationStats,fClearAfterReading)
- #define IStats_InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- (This)->lpVtbl -> InsertSpecialFrame(This,FrameType,Flags,pUserData,UserDataLength)
- #define IStats_QueryStations(This,lpQueryTable)
- (This)->lpVtbl -> QueryStations(This,lpQueryTable)
- #endif /* COBJMACROS */
- #endif /* C style interface */
- HRESULT STDMETHODCALLTYPE IStats_Connect_Proxy(
- IStats * This,
- /* [in] */ HBLOB hInputBlob,
- /* [in] */ LPVOID StatusCallbackProc,
- /* [in] */ LPVOID UserContext,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IStats_Connect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Disconnect_Proxy(
- IStats * This);
- void __RPC_STUB IStats_Disconnect_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_QueryStatus_Proxy(
- IStats * This,
- /* [out] */ NETWORKSTATUS *pNetworkStatus);
- void __RPC_STUB IStats_QueryStatus_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Configure_Proxy(
- IStats * This,
- /* [in] */ HBLOB hConfigurationBlob,
- /* [out] */ HBLOB hErrorBlob);
- void __RPC_STUB IStats_Configure_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Start_Proxy(
- IStats * This);
- void __RPC_STUB IStats_Start_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Pause_Proxy(
- IStats * This);
- void __RPC_STUB IStats_Pause_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Resume_Proxy(
- IStats * This);
- void __RPC_STUB IStats_Resume_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_Stop_Proxy(
- IStats * This);
- void __RPC_STUB IStats_Stop_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_GetControlState_Proxy(
- IStats * This,
- /* [out] */ BOOL *IsRunnning,
- /* [out] */ BOOL *IsPaused);
- void __RPC_STUB IStats_GetControlState_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_GetTotalStatistics_Proxy(
- IStats * This,
- /* [out] */ LPSTATISTICS lpStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IStats_GetTotalStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_GetConversationStatistics_Proxy(
- IStats * This,
- /* [out] */ DWORD *nSessions,
- /* [size_is][out] */ LPSESSIONSTATS lpSessionStats,
- /* [out] */ DWORD *nStations,
- /* [size_is][out] */ LPSTATIONSTATS lpStationStats,
- /* [in] */ BOOL fClearAfterReading);
- void __RPC_STUB IStats_GetConversationStatistics_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_InsertSpecialFrame_Proxy(
- IStats * This,
- /* [in] */ DWORD FrameType,
- /* [in] */ DWORD Flags,
- /* [in] */ BYTE *pUserData,
- /* [in] */ DWORD UserDataLength);
- void __RPC_STUB IStats_InsertSpecialFrame_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- HRESULT STDMETHODCALLTYPE IStats_QueryStations_Proxy(
- IStats * This,
- /* [out][in] */ QUERYTABLE *lpQueryTable);
- void __RPC_STUB IStats_QueryStations_Stub(
- IRpcStubBuffer *This,
- IRpcChannelBuffer *_pRpcChannelBuffer,
- PRPC_MESSAGE _pRpcMessage,
- DWORD *_pdwStubPhase);
- #endif /* __IStats_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_netmon_0016 */
- /* [local] */
- #pragma warning(default:4200)
- #pragma pack()
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0016_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_netmon_0016_v0_0_s_ifspec;
- /* Additional Prototypes for ALL interfaces */
- /* end of Additional Prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif