Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

80 lines
1.8 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
wx86grpa.h
Abstract:
Ole interface into Wx86
Author:
29-Sep-1995 AlanWar
Revision History:
--*/
#ifdef WX86OLE
typedef HRESULT (*PFNDLLGETCLASSOBJECT)(REFCLSID, REFIID, LPVOID *);
typedef HRESULT (*PFNDLLCANUNLOADNOW)(void);
typedef PFNDLLGETCLASSOBJECT (*WX86PFNGCA)(PVOID);
typedef PFNDLLCANUNLOADNOW (*WX86PFNCUN)(PVOID);
typedef void (*WX86GPFNFCB)(PVOID);
typedef BOOL (*WX86PFNNXPSF)(IUnknown *, REFIID);
typedef BOOL (*WX86PFNIN2XP)(IUnknown *);
typedef PVOID *(*PFNWX86LOADWHOLE32)(
void
);
typedef void (*PFNWX86UNLOADWHOLE32)(
void
);
typedef PVOID (*WHOLEUNMARSHALLEDINSAMEAPT)(PVOID pv, REFIID piid);
typedef void (*WHOLEAGGREGATEPROXY)(IUnknown *, IUnknown *);
#define WholeNeedX86PSFactoryIdx 8
#define WholeIsN2XProxyIdx 9
#define WholeThunkDllGetClassObjectIdx 10
#define WholeThunkDllCanUnloadNowIdx 11
#define WholeUnmarshalledInSameApt 13
#define WholeAggregateProxy 14
class CWx86 {
public:
CWx86();
~CWx86();
PFNDLLGETCLASSOBJECT TranslateDllGetClassObject(PFNDLLGETCLASSOBJECT pv);
PFNDLLCANUNLOADNOW TranslateDllCanUnloadNow(PFNDLLCANUNLOADNOW pv);
BOOL IsModuleX86(HMODULE hModule);
BOOL IsWx86Enabled(void);
void SetStubInvokeFlag(UCHAR bFlag);
BOOL NeedX86PSFactory(IUnknown *punkObj, REFIID riid);
BOOL IsN2XProxy(IUnknown *punk);
BOOL SetLoadAsX86(BOOL bFlag);
BOOL IsWx86Calling(void);
BOOL SetIsWx86Calling(BOOL bFlag);
PVOID UnmarshalledInSameApt(PVOID pv, REFIID piid);
void AggregateProxy(IUnknown *, IUnknown *);
BOOL IsWx86Installed(void);
private:
PVOID *_apvWholeFuncs;
BOOL _fIsWx86Installed;
};
inline BOOL CWx86::IsWx86Installed(void)
{
return(_fIsWx86Installed);
}
#endif