windows-nt/Source/XPSP1/NT/multimedia/directx/dplay/dnet/dnaddress/comstuff.h

60 lines
1.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*==========================================================================
*
* 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