Annotation of mstools/ole20/h/valid.h, revision 1.1.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.