offglue.h
资源名称:shell.rar [点击查看]
上传用户:xhy777
上传日期:2007-02-14
资源大小:24088k
文件大小:3k
源码类别:
系统编程
开发平台:
Visual C++
- #ifndef _OFFGLUE_H_
- #define _OFFGLUE_H_
- #define fTrue TRUE
- #define fFalse FALSE
- #define MsoImageList_Create ImageList_Create
- #define MsoImageList_Destroy ImageList_Destroy
- #define MsoImageList_ReplaceIcon ImageList_ReplaceIcon
- #define InvalidateVBAObjects(x,y,z)
- typedef struct _num
- {
- CHAR rgb[8];
- } NUM;
- typedef struct _ulargeint
- {
- union
- {
- struct
- {
- DWORD dw;
- DWORD dwh;
- };
- struct
- {
- WORD w0;
- WORD w1;
- WORD w2;
- WORD w3;
- };
- };
- } ULInt;
- // Macro to release a COM interface
- #define RELEASEINTERFACE( punk )
- if( punk != NULL )
- {
- (punk)->lpVtbl->Release(punk);
- punk = NULL;
- }
- // Determine the elements in a fixed-sized vector
- #define NUM_ELEMENTS( vector ) ( sizeof(vector) / sizeof( (vector)[0] ) )
- #ifdef __cplusplus
- extern TEXT("C") {
- #endif // __cplusplus
- //Wrapper functions to the client supplied mem alloc and free
- void *PvMemAlloc(DWORD cb);
- void VFreeMemP(void *pv, DWORD cb);
- void *PvMemRealloc(void *pv, DWORD cbOld, DWORD cbNew);
- void *PvStrDup(LPCTSTR p);
- int CchGetString();
- // Function to convert a ULInt to an sz without leading zero's
- // Returns cch -- not including zero-terminator
- WORD CchULIntToSz(ULInt, TCHAR *, WORD );
- int CchTszLen(const TCHAR *psz);
- int CchWszLen(const WCHAR *psz);
- int CchAnsiSzLen(const CHAR *psz);
- VOID FillBuf(void *p, unsigned w, unsigned cb);
- // Function to scan memory for a given value
- BOOL FScanMem(LPBYTE pb, byte bVal, DWORD cb);
- BYTE *PbMemCopy(void *pvDst, const void *pvSrc, unsigned cb);
- VOID SzCopy(void *pszDst, const void *pszSrc);
- BYTE *PbSzNCopy(void *pvDst, const void *pvSrc, unsigned cb);
- BOOL FFreeAndCloseisdbhead();
- //Displays an alert using the give ids
- int IdDoAlert(HWND, int ids, int mb);
- // Wide-Char - MBCS helpers
- LPWSTR WINAPI A2WHelper(LPWSTR lpw, LPCSTR lpa, int nChars);
- LPSTR WINAPI W2AHelper(LPSTR lpa, LPCWSTR lpw, int nChars);
- #ifdef __cplusplus
- }; // extern "C"
- #endif // __cplusplus
- // Wide-Char - MBCS helpers
- #define USES_CONVERSION int _convert = 0
- #ifndef A2WHELPER
- #define A2WHELPER A2WHelper
- #define W2AHELPER W2AHelper
- #endif
- #define A2W(lpa) (
- ((LPCSTR)lpa == NULL) ? NULL : ( _convert = (lstrlenA(lpa)+1),
- A2WHELPER((LPWSTR) alloca(_convert*2), lpa, _convert)))
- #define W2A(lpw) (
- ((LPCWSTR)lpw == NULL) ? NULL : ( _convert = (lstrlenW(lpw)+1)*2,
- W2AHELPER((LPSTR) alloca(_convert), lpw, _convert)))
- #define A2CW(lpa) ((LPCWSTR)A2W(lpa))
- #define W2CA(lpw) ((LPCSTR)W2A(lpw))
- #ifdef _UNICODE
- #define T2A W2A
- #define A2T A2W
- #define T2W(lp) lp
- #define W2T(lp) lp
- #define T2CA W2CA
- #define A2CT A2CW
- #define T2CW(lp) lp
- #define W2CT(lp) lp
- #else
- #define T2W A2W
- #define W2T W2A
- #define T2A(lp) lp
- #define A2T(lp) lp
- #define T2CW A2CW
- #define W2CT W2CA
- #define T2CA(lp) lp
- #define A2CT(lp) lp
- #endif // _UNICODE
- #endif // _OFFGLUE_H_
English
