60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
|
/*==========================================================================
|
||
|
*
|
||
|
* Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
|
||
|
*
|
||
|
* File: comstuff.h
|
||
|
* Content: DNET COM class factory
|
||
|
*@@BEGIN_MSINTERNAL
|
||
|
* History:
|
||
|
* Date By Reason
|
||
|
* ==== == ======
|
||
|
* ? rmt Adapted for use in addressing lib
|
||
|
* 07/09/2000 rmt Added signature bytes to start of objects
|
||
|
*@@END_MSINTERNAL
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
|
||
|
#ifndef COMSTUFF_H
|
||
|
#define COMSTUFF_H
|
||
|
|
||
|
#define DPASIGNATURE_IL 'LIAD'
|
||
|
#define DPASIGNATURE_IL_FREE 'LIA_'
|
||
|
|
||
|
#define DPASIGNATURE_OD 'DOAD'
|
||
|
#define DPASIGNATURE_OD_FREE 'DOA_'
|
||
|
|
||
|
typedef struct INTERFACE_LIST {
|
||
|
LPVOID lpVtbl;
|
||
|
DWORD dwSignature;
|
||
|
LONG lRefCount;
|
||
|
IID iid;
|
||
|
struct INTERFACE_LIST *lpIntNext;
|
||
|
struct OBJECT_DATA *lpObject;
|
||
|
} INTERFACE_LIST, *LPINTERFACE_LIST;
|
||
|
|
||
|
typedef struct OBJECT_DATA {
|
||
|
DWORD dwSignature;
|
||
|
LONG lRefCount;
|
||
|
LPVOID lpvData;
|
||
|
LPINTERFACE_LIST lpIntList;
|
||
|
} OBJECT_DATA, *LPOBJECT_DATA;
|
||
|
|
||
|
#define GET_OBJECT_FROM_INTERFACE(a) ((LPINTERFACE_LIST) a)->lpObject->lpvData
|
||
|
|
||
|
#if !defined(__cplusplus) && !defined(CINTERFACE)
|
||
|
|
||
|
#ifdef THIS_
|
||
|
#undef THIS_
|
||
|
#define THIS_ LPVOID this,
|
||
|
#endif
|
||
|
|
||
|
#ifdef THIS
|
||
|
#undef THIS
|
||
|
#define THIS LPVOID this
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif // COMSTUFF_H
|