⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bh.h

📁 vc6.0完整版
💻 H
📖 第 1 页 / 共 2 页
字号:
extern HPROPERTY            WINAPI GetProperty(HPROTOCOL hProtocol, LPSTR PropertyName);

extern HPROTOCOL            WINAPI GetProtocolFromProperty(HPROPERTY hProperty);

extern HPROTOCOL            WINAPI GetProtocolFromName(LPSTR ProtocolName);

extern DWORD                WINAPI GetProtocolStartOffset(HFRAME hFrame, LPSTR ProtocolName);

extern DWORD                WINAPI GetProtocolStartOffsetHandle(HFRAME hFrame, HPROTOCOL hProtocol);

extern LPPROTOCOLTABLE      WINAPI GetEnabledProtocols(HCAPTURE hCapture);

extern HPROTOCOL            WINAPI GetProtocolFromProtocolID(DWORD dwProtocolID);

extern VOID                 WINAPI SetMaxAmountOfProtocols(DWORD dwAmountOfProtocols);

extern DWORD                WINAPI GetMaxAmountOfProtocols();

//=============================================================================
//  Property API's.
//=============================================================================

extern DWORD                WINAPI CreatePropertyDatabase(HPROTOCOL hProtocol, DWORD nProperties);

extern DWORD                WINAPI DestroyPropertyDatabase(HPROTOCOL hProtocol);

extern HPROPERTY            WINAPI AddProperty(HPROTOCOL hProtocol, LPPROPERTYINFO PropertyInfo);

extern LPPROPERTYINST       WINAPI AttachPropertyInstance(HFRAME    hFrame,
                                                          HPROPERTY hProperty,
                                                          DWORD     Length,
                                                          ULPVOID   lpData,
                                                          DWORD     HelpID,
                                                          DWORD     Level,
                                                          DWORD     IFlags);

extern LPPROPERTYINST       WINAPI AttachPropertyInstanceEx(HFRAME      hFrame,
                                                            HPROPERTY   hProperty,
                                                            DWORD       Length,
                                                            ULPVOID     lpData,
                                                            DWORD       ExLength,
                                                            ULPVOID     lpExData,
                                                            DWORD       HelpID,
                                                            DWORD       Level,
                                                            DWORD       IFlags);

extern LPPROPERTYINST       WINAPI FindPropertyInstance(HFRAME hFrame, HPROPERTY hProperty);

extern LPPROPERTYINFO       WINAPI GetPropertyInfo(HPROPERTY hProperty);

extern LPSTR                WINAPI GetPropertyText(HFRAME hFrame, LPPROPERTYINST lpPI, LPSTR szBuffer, DWORD BufferSize);

extern INT WINAPI QueryProtocolState(HCAPTURE hCapture, HPROTOCOL hProtocol);

//=============================================================================
//  ADDRESS API's.
//=============================================================================

extern LPADDRESSINFO        WINAPI AddAddress(HADDRESSDB hAddressDB,
                                              LPADDRESS  lpAddress,
                                              LPSTR      lpName,
                                              LPVOID     InstData);

extern HADDRESSDB           WINAPI CreateAddressDatabase(VOID);

extern DWORD                WINAPI DeleteAddress(HADDRESSDB hAddressDB, LPADDRESS lpAddressToDelete);

extern DWORD                WINAPI DestroyAddressDatabase(HADDRESSDB hAddressDB);

extern DWORD                WINAPI EmptyAddressDatabase(HADDRESSDB hAddressDB);

extern LPADDRESSINFO        WINAPI GetAddressInfo(HADDRESSDB hAddressDB, LPADDRESS lpAddress);

extern LPADDRESSINFO        WINAPI GetAddressInfoByName(HADDRESSDB hAddressDB, LPSTR lpName);

extern LPADDRESSINFOTABLE   WINAPI EnumAddresses(HADDRESSDB hAddressDB, int SortByType);

extern LPVOID               WINAPI GetAddressDatabaseInstanceData(HADDRESSDB hAddressDB);

extern LPVOID               WINAPI SetAddressDatabaseInstanceData(HADDRESSDB hAddressDB, LPVOID InstData);

extern LPADDRESSINFO *      WINAPI FindAddressInfoByAddress(LPADDRESSINFOTABLE lpAddressInfoTable, LPADDRESS lpAddress);

extern LPADDRESSINFO *      WINAPI FindAddressInfoByName(LPADDRESSINFOTABLE lpAddressInfoTable, LPSTR lpName,
                                                         LPADDRESS lpSpecificAddress );

//=============================================================================
//  MISC. API's.
//=============================================================================

extern LPSTR                WINAPI GetSystemPath(LPSTR Path, DWORD Length);

extern DWORD                WINAPI GetCaptureCommentFromFilename(LPSTR lpFilename, LPSTR lpComment, DWORD BufferSize);

extern int                  WINAPI CompareAddresses(LPADDRESS lpAddress1, LPADDRESS lpAddress2);

extern DWORD                WINAPIV FormatPropertyInstance(LPPROPERTYINST lpPropertyInst, ...);

extern SYSTEMTIME *         WINAPI AdjustSystemTime(SYSTEMTIME *SystemTime, DWORD TimeDelta);

//=============================================================================
//  MISC. API's.
//=============================================================================

extern VOID                 WINAPI eprintf(LPSTR format, ...);

extern VOID                 WINAPI CreateErrorLogEntry(VOID);

extern DWORD                WINAPI BHGetLastError(VOID);

extern DWORD                WINAPI BHSetLastError(DWORD Error);

extern DWORD                WINAPI ResetPropertyInstanceLength( LPPROPERTYINST lpProp,
                                                                WORD nOrgLen,
                                                                WORD nNewLen );

//=============================================================================
//  DEBUG API's.
//=============================================================================

#ifdef DEBUG

//=============================================================================
//  BreakPoint() macro.
//=============================================================================

#ifdef _X86_
#define BreakPoint()        _asm { int 3h }
#else
#define BreakPoint()        DebugBreak()
#endif

//=============================================================================
//  FUNCTION: BhAssert()
//=============================================================================

INLINE VOID BhAssert(
    LPVOID  assert,
    LPSTR   file,
    UINT    line,
    LPVOID  msg
    )
{
    if ( msg == NULL )
    {
        dprintf("ASSERT -- %s occured on line %u of file %s.\n",
                 assert,
                 line,
                 file);
    }
    else
    {
        dprintf("ASSERT -- %s occured on line %u of file %s: Message = %s.\n",
                assert,
                line,
                file,
                msg);
    }
}

//=============================================================================
//  MACRO: ASSERT()
//=============================================================================

#define ASSERT(exp)                                 \
{                                                   \
    if ( !(exp) )                                   \
    {                                               \
        BhAssert(#exp, __FILE__, __LINE__, NULL);   \
        BreakPoint();                               \
    }                                               \
}                                                   \

#define ASSERTMSG(exp, msg)                         \
{                                                   \
    if ( !(exp) )                                   \
    {                                               \
        BhAssert(#exp, __FILE__, __LINE__, msg);    \
        BreakPoint();                               \
    }                                               \
}                                                   \

#else   //... DEBUG

#define ASSERT(exp)

#define ASSERTMSG(exp, msg)

#define ASSERT_DWORD_ALIGNMENT(p)       (p)

#endif  //... DEBUG

//=============================================================================
//  PanicPoint().
//=============================================================================

extern VOID WINAPI PanicMessage(UINT line, LPSTR file, LPSTR msg);

#ifdef DEBUG

#define PanicPoint()                            \
    {                                           \
        PanicMessage(__LINE__, __FILE__, NULL); \
        BreakPoint();                           \
    }

#else

#define PanicPoint()                            \
    {                                           \
        PanicMessage(__LINE__, __FILE__, NULL); \
    }

#endif

//=============================================================================
//  Alignment macro.
//=============================================================================

#ifndef _X86_
#ifdef DEBUG

INLINE LPVOID WINAPI ASSERT_DWORD_ALIGNMENT(LPVOID p)
{
    if ( (((DWORD) (p)) & 0x00000003) != 0 )
    {
        dprintf("Fatal error on line %u of %s. Pointer is not DWORD aligned.", __LINE__, __FILE__);

        BreakPoint();
    }

    return p;
}

#endif

#else
#define ASSERT_DWORD_ALIGNMENT(p)       (p)
#endif

#pragma pack()
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -