Annotation of mstools/ole20/h/valid.h, revision 1.1

1.1     ! root        1: 
        !             2: STDAPI_(BOOL) IsValidPtrIn( const void FAR* pv, UINT cb );
        !             3: STDAPI_(BOOL) IsValidPtrOut( void FAR* pv, UINT cb );
        !             4: STDAPI_(BOOL) IsValidInterface( void FAR* pv );
        !             5: STDAPI_(BOOL) IsValidIid( REFIID riid );
        !             6: 
        !             7:  
        !             8: #ifdef _DEBUG
        !             9: 
        !            10: //** POINTER IN validation macros:
        !            11: #define VDATEPTRIN( pv, TYPE ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) \
        !            12:     return (FnAssert(#pv,"Invalid in ptr", _szAssertFile, __LINE__),ResultFromScode(E_INVALIDARG))
        !            13: #define GEN_VDATEPTRIN( pv, TYPE, retval ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) \
        !            14:     return (FnAssert(#pv,"Invalid in ptr", _szAssertFile, __LINE__), retval)
        !            15: #define VOID_VDATEPTRIN( pv, TYPE ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) {\
        !            16:     FnAssert(#pv,"Invalid in ptr", _szAssertFile, __LINE__); return; }
        !            17: 
        !            18: //** POINTER OUT validation macros:
        !            19: #define VDATEPTROUT( pv, TYPE ) if (!IsValidPtrOut( (pv), sizeof(TYPE))) \
        !            20:     return (FnAssert(#pv,"Invalid out ptr", _szAssertFile, __LINE__),ResultFromScode(E_INVALIDARG))
        !            21: #define GEN_VDATEPTROUT( pv, TYPE, retval ) if (!IsValidPtrOut( (pv), sizeof(TYPE))) \
        !            22:     return (FnAssert(#pv,"Invalid out ptr", _szAssertFile, __LINE__), retval)
        !            23: 
        !            24: //** INTERFACE validation macro:
        !            25: #define GEN_VDATEIFACE( pv, retval ) if (!IsValidInterface(pv)) \
        !            26:     return (FnAssert(#pv,"Invalid interface", _szAssertFile, __LINE__), retval)
        !            27: #define VDATEIFACE( pv ) if (!IsValidInterface(pv)) \
        !            28:     return (FnAssert(#pv,"Invalid interface", _szAssertFile, __LINE__),ResultFromScode(E_INVALIDARG))
        !            29: #define VOID_VDATEIFACE( pv ) if (!IsValidInterface(pv)) {\
        !            30:     FnAssert(#pv,"Invalid interface", _szAssertFile, __LINE__); return; }
        !            31: 
        !            32: //** INTERFACE ID validation macro:
        !            33: #define VDATEIID( iid ) if (!IsValidIid( iid )) \
        !            34:     return (FnAssert(#iid,"Invalid iid", _szAssertFile, __LINE__),ResultFromScode(E_INVALIDARG))
        !            35: #define GEN_VDATEIID( iid, retval ) if (!IsValidIid( iid )) {\
        !            36:     FnAssert(#iid,"Invalid iid", _szAssertFile, __LINE__); return retval; }
        !            37: #else
        !            38: 
        !            39: 
        !            40: 
        !            41: //  --assertless macros for non-debug case
        !            42: //** POINTER IN validation macros:
        !            43: #define VDATEPTRIN( pv, TYPE ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) \
        !            44:     return (ResultFromScode(E_INVALIDARG))
        !            45: #define GEN_VDATEPTRIN( pv, TYPE, retval ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) \
        !            46:     return (retval)
        !            47: #define VOID_VDATEPTRIN( pv, TYPE ) if (!IsValidPtrIn( (pv), sizeof(TYPE))) {\
        !            48:     return; }
        !            49: 
        !            50: //** POINTER OUT validation macros:
        !            51: #define VDATEPTROUT( pv, TYPE ) if (!IsValidPtrOut( (pv), sizeof(TYPE))) \
        !            52:     return (ResultFromScode(E_INVALIDARG))
        !            53: 
        !            54: #define GEN_VDATEPTROUT( pv, TYPE, retval ) if (!IsValidPtrOut( (pv), sizeof(TYPE))) \
        !            55:     return (retval)
        !            56: 
        !            57: //** INTERFACE validation macro:
        !            58: #define VDATEIFACE( pv ) if (!IsValidInterface(pv)) \
        !            59:     return (ResultFromScode(E_INVALIDARG))
        !            60: #define VOID_VDATEIFACE( pv ) if (!IsValidInterface(pv)) \
        !            61:     return; 
        !            62: #define GEN_VDATEIFACE( pv, retval ) if (!IsValidInterface(pv)) \
        !            63:     return (retval)
        !            64: 
        !            65: //** INTERFACE ID validation macro:
        !            66: #define VDATEIID( iid ) if (!IsValidIid( iid )) \
        !            67:     return (ResultFromScode(E_INVALIDARG))
        !            68: #define GEN_VDATEIID( iid, retval ) if (!IsValidIid( iid )) \
        !            69:     return retval; 
        !            70: 
        !            71: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.