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.
|
|
//
// util.cpp
//
typedef struct tagGETDCSTATE { IOleInPlaceSiteWindowless *pipsw; // If we got the DC from an interface
HWND hwnd; // If we got the DC from a window
} GETDCSTATE, *PGETDCSTATE;
STDAPI_(HDC) IUnknown_GetDC(IUnknown *punk, LPCRECT prc, PGETDCSTATE pdcs); STDAPI_(void) IUnknown_ReleaseDC(HDC hdc, PGETDCSTATE pdcs);
DWORD FormatMessageWrapW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageID, DWORD dwLangID, LPWSTR pwzBuffer, DWORD cchSize, ...);
EXTERN_C int WINAPIV wsprintfWrapW( OUT LPWSTR pwszOut, IN LPCWSTR pwszFormat, ...); //---------------------------------------------------------------------------
// For manipulating BSTRs without using SysAllocString
template<int n> class STATIC_BSTR { public: ULONG _cb; WCHAR _wsz[n]; // Remove const-ness because VARIANTs don't have "const BSTR"
operator LPWSTR() { return _wsz; } void SetSize() { _cb = lstrlenW(_wsz) * sizeof(WCHAR); } int inline const MaxSize() { return n; } };
#define MAKE_CONST_BSTR(name, str) \
STATIC_BSTR<sizeof(str)/sizeof(WCHAR)> \ name = { sizeof(str) - sizeof(WCHAR), str }
#define DECL_CONST_BSTR(name, str) \
extern STATIC_BSTR<sizeof(str)/sizeof(WCHAR)> name;
extern HRESULT _ComputeFreeSpace(LPCWSTR pszFileName, ULONGLONG& ullFreeSpace, ULONGLONG& ullUsedSpace, ULONGLONG& ullTotalSpace);
STDAPI IsSafePage(IUnknown *punkSite); DWORD IntSqrt(DWORD dwNum);
|