Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

90 lines
2.5 KiB

//
// globals.h
//
// Global variable declarations.
//
#ifndef GLOBALS_H
#define GLOBALS_H
#include <windows.h>
#include <ole2.h>
#include <olectl.h>
#include <assert.h>
#include "msctf.h"
LONG DllAddRef();
LONG DllRelease();
BOOL AdviseSink(IUnknown *pSource, IUnknown *pSink, REFIID riid, DWORD *pdwCookie);
void UnadviseSink(IUnknown *pSource, DWORD *pdwCookie);
BOOL AdviseSingleSink(TfClientId tfClientId, IUnknown *pSource, IUnknown *pSink, REFIID riid);
void UnadviseSingleSink(TfClientId tfClientId, IUnknown *pSource, REFIID riid);
BOOL IsRangeCovered(TfEditCookie ec, ITfRange *pRangeTest, ITfRange *pRangeCover);
BOOL IsEqualUnknown(IUnknown *interface1, IUnknown *interface2);
#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
#define MARK_LANGID MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)
#define MARK_DESC L"Mark Text Service"
#define MARK_DESC_A "Mark Text Service"
#define MARK_MODEL TEXT("Apartment")
#define LANGBAR_ITEM_DESC L"Mark Menu" // max 32 chars!
#define MARK_ICON_INDEX 0
#define SafeRelease(punk) \
{ \
if ((punk) != NULL) \
{ \
(punk)->Release(); \
} \
}
#define SafeReleaseClear(punk) \
{ \
if ((punk) != NULL) \
{ \
(punk)->Release(); \
(punk) = NULL; \
} \
}
//+---------------------------------------------------------------------------
//
// SafeStringCopy
//
// Copies a string from one buffer to another. wcsncpy does not always
// null-terminate the destination buffer; this function does.
//----------------------------------------------------------------------------
inline void SafeStringCopy(WCHAR *pchDst, ULONG cchMax, const WCHAR *pchSrc)
{
if (cchMax > 0)
{
wcsncpy(pchDst, pchSrc, cchMax);
pchDst[cchMax-1] = '\0';
}
}
extern HINSTANCE g_hInst;
extern LONG g_cRefDll;
extern CRITICAL_SECTION g_cs;
extern const CLSID c_clsidMarkTextService;
extern const GUID c_guidMarkProfile;
extern const GUID c_guidLangBarItemButton;
extern const GUID c_guidMarkDisplayAttribute;
extern const GUID c_guidMarkContextCompartment;
extern const GUID c_guidMarkGlobalCompartment;
extern const GUID c_guidCaseProperty;
extern const GUID c_guidCustomProperty;
#endif // GLOBALS_H