74 lines
2.1 KiB
C
74 lines
2.1 KiB
C
/*==========================================================================
|
|
*
|
|
* Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: comstuff.h
|
|
* Content: COM interface and object definition header file
|
|
*@@BEGIN_MSINTERNAL
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* ??/??/00 mjn Created
|
|
* 05/04/00 mjn Changed dwRefCount's to lRefCount's to use InterlockedIncrement/Decrement
|
|
*@@END_MSINTERNAL
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef COMSTUFF_H
|
|
#define COMSTUFF_H
|
|
|
|
//**********************************************************************
|
|
// Constant definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Macro definitions
|
|
//**********************************************************************
|
|
|
|
#define GET_OBJECT_FROM_INTERFACE(a) ((INTERFACE_LIST*)(a))->pObject->pvData
|
|
|
|
#if !defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
#ifdef THIS_
|
|
#undef THIS_
|
|
#define THIS_ LPVOID this,
|
|
#endif
|
|
|
|
#ifdef THIS
|
|
#undef THIS
|
|
#define THIS LPVOID this
|
|
#endif
|
|
|
|
#endif
|
|
|
|
//**********************************************************************
|
|
// Structure definitions
|
|
//**********************************************************************
|
|
|
|
typedef struct _INTERFACE_LIST INTERFACE_LIST;
|
|
typedef struct _OBJECT_DATA OBJECT_DATA;
|
|
|
|
typedef struct _INTERFACE_LIST {
|
|
void *lpVtbl;
|
|
LONG lRefCount;
|
|
IID iid;
|
|
INTERFACE_LIST *pIntNext;
|
|
OBJECT_DATA *pObject;
|
|
} INTERFACE_LIST;
|
|
|
|
typedef struct _OBJECT_DATA {
|
|
LONG lRefCount;
|
|
void *pvData;
|
|
INTERFACE_LIST *pIntList;
|
|
} OBJECT_DATA;
|
|
|
|
//**********************************************************************
|
|
// Variable definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Function prototypes
|
|
//**********************************************************************
|
|
|
|
#endif // COMSTUFF_H
|