home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
sdk
/
netds
/
adsi
/
sampprov
/
cdispmgr.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-29
|
2KB
|
93 lines
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
CDispMgr.h
Abstract:
Author:
Environment:
User mode
Revision History :
--*/
#ifndef _CDISPMGR_H_
#define _CDISPMGR_H_
typedef struct _typeinfoentry
{
LONG TypeInfoId;
void FAR *ptypeinfo;
void * pInterfacePointer;
struct _typeinfoentry *pNext;
} TYPEINFOENTRY, *PTYPEINFOENTRY;
class CDispatchMgr;
class CDispatchMgr
{
public:
DECLARE_IDispatch_METHODS
CDispatchMgr::CDispatchMgr();
CDispatchMgr::~CDispatchMgr();
DISPID
CDispatchMgr::getDISPID(DISPID InputDispId);
DISPID
CDispatchMgr::getTypeinfoID(DISPID InputDispId);
void *
CDispatchMgr::getInterfacePtr(DISPID TypeinfoID
);
void
CDispatchMgr::generate_newids(LONG TypeInfoId,
DISPID FAR* rgdispid, unsigned int cNames);
PTYPEINFOENTRY
CDispatchMgr::FindTypeInfoEntry(LONG TypeInfoId);
HRESULT
CDispatchMgr::AddTypeInfo(void FAR *ptypeinfo, void * pIntfptr);
STDMETHODIMP
CDispatchMgr::TypeInfoInvoke(DISPID dispidMember, REFIID iid, LCID lcid,
unsigned short wFlags, DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo,
unsigned int FAR* puArgErr);
HRESULT
CDispatchMgr::getTypeInfo(DISPID typeinfoid, ITypeInfo FAR * FAR * ppTypeInfo) ;
HRESULT
CDispatchMgr::MarkAsNewEnum(void *pTypeInfo);
PTYPEINFOENTRY
CDispatchMgr::FindTypeInfo(void *pTypeInfo);
LONG
CDispatchMgr::gentypeinfoid();
protected:
LONG _dwTypeInfoId;
PTYPEINFOENTRY _pTypeInfoEntry;
PTYPEINFOENTRY _pDispidNewEnum;
};
#define BAIL_IF_ERROR(hr) \
if (FAILED(hr)) { \
goto cleanup; \
}
#endif