70 lines
1.4 KiB
C++
70 lines
1.4 KiB
C++
|
|
/*****************************************************************************\
|
|
* MODULE: globals.h
|
|
*
|
|
* PURPOSE: Any globals used throughout the executable should be placed
|
|
* in globals.c and the cooresponding declaration should
|
|
* be in "globals.h".
|
|
*
|
|
* Copyright (C) 2000 Microsoft Corporation
|
|
*
|
|
* History:
|
|
*
|
|
* 03/07/00 Weihai Chen (weihaic) Created
|
|
*
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _GLOBALS_H
|
|
#define _GLOBALS_H
|
|
|
|
template <class T>
|
|
HRESULT PrivCreateComponent (
|
|
T * pIuk,
|
|
REFIID iid,
|
|
void** ppv)
|
|
{
|
|
HRESULT hr = E_FAIL;
|
|
|
|
// Create component.
|
|
if (pIuk) {
|
|
|
|
if (pIuk->bValid ()) {
|
|
|
|
// Get the requested interface.
|
|
hr = pIuk->QueryInterface(iid, ppv) ;
|
|
|
|
}
|
|
else {
|
|
hr = LastError2HRESULT ();
|
|
}
|
|
|
|
// Release the IUnknown pointer.
|
|
pIuk->Release() ;
|
|
|
|
}
|
|
else {
|
|
hr = E_OUTOFMEMORY ;
|
|
}
|
|
return hr;
|
|
}
|
|
|
|
|
|
|
|
extern LONG g_cComponents;
|
|
extern LONG g_cServerLocks;
|
|
|
|
extern HRESULT STDMETHODCALLTYPE
|
|
LastError2HRESULT (VOID);
|
|
|
|
extern HRESULT STDMETHODCALLTYPE
|
|
WinError2HRESULT (
|
|
DWORD dwError);
|
|
|
|
#define BIDI_NULL_SIZE 0
|
|
#define BIDI_INT_SIZE (sizeof (ULONG))
|
|
#define BIDI_FLOAT_SIZE (sizeof (FLOAT))
|
|
#define BIDI_BOOL_SIZE (sizeof (BOOL))
|
|
|
|
|
|
#endif
|