Files
firestorm/build-env/VisualStudio6/VC98/Include/NATIVCOM.H
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

106 lines
4.0 KiB
C++

// (C) Copyright 1996, Microsoft Corporation and it suppliers.
//----------------------------------------------------------------------------
// Public header for COM-marshaling facilities provided by MSJava.dll
//----------------------------------------------------------------------------
#ifndef _NATIVCOM_
#define _NATIVCOM_
#include <windows.h>
#include <native.h>
#ifdef __cplusplus
extern "C" {
#endif
//----------------------------------------------------------------------------
// COM data wrapper helpers...
//----------------------------------------------------------------------------
void* __cdecl jcdwNewData(Hjava_lang_Object * phJCDW, unsigned int numBytes);
void* __cdecl jcdwGetData(Hjava_lang_Object * phJCDW);
unsigned int __cdecl jcdwSizeOf(Hjava_lang_Object * phJCDW);
unsigned int __cdecl jcdwClassSizeOf(Hjava_lang_Object * phJavaClass);
unsigned int __cdecl jcdwOffsetOf(Hjava_lang_Object * phJCDW, const char *pFieldName);
unsigned int __cdecl jcdwClassOffsetOf(Hjava_lang_Object * phJCDWClass, const char *pFieldName);
Hjava_lang_Object * __cdecl convert_IUnknown_to_Java_Object(IUnknown *punk,
Hjava_lang_Object *phJavaClass,
int fAssumeThreadSafe);
Hjava_lang_Object * __cdecl convert_IUnknown_to_Java_Object2(IUnknown *punk,
ClassClass *pClassClass,
int fFreeThreaded);
IUnknown * __cdecl convert_Java_Object_to_IUnknown(Hjava_lang_Object *phJavaObject, const IID *pIID);
Hjava_lang_Object * __cdecl convert_ptr_to_jcdw(void *pExtData,
Hjava_lang_Object *phJavaClass
);
int __cdecl jcdw_memory_freed_on_gc(Hjava_lang_Object *phJCDW);
int __cdecl jcdwSetData(Hjava_lang_Object * phJCDW, LPVOID pv);
int __cdecl jcdw_java_owned(Hjava_lang_Object *phJCDW);
//----------------------------------------------------------------------------
// Map HRESULT to ComException.
//----------------------------------------------------------------------------
void __cdecl SignalErrorHResult(HRESULT theHRESULT);
//----------------------------------------------------------------------------
// Map Java exception to HRESULT.
//----------------------------------------------------------------------------
HRESULT __cdecl HResultFromException(OBJECT* exception_object);
typedef Hjava_lang_Object *JAVAARG;
//----------------------------------------------------------------------------
// Information structure for Java->COM Custom Method hook.
//----------------------------------------------------------------------------
typedef struct {
DWORD cbSize; // size of structure in bytes
IUnknown *punk; // pointer to interface being invoked
const volatile JAVAARG *pJavaArgs; // pointer to Java argument stack
} J2CMethodHookInfo;
//----------------------------------------------------------------------------
// Information structure for COM->Java Custom Method hook.
//----------------------------------------------------------------------------
typedef struct {
DWORD cbSize; // size of structure in bytes
struct methodblock *javaMethod; // java method to call
LPVOID pComArgs; // pointer to COM method argument stack
const volatile JAVAARG *ppThis; // pointer to pointer to Java this
// Store the COM result here.
union {
HRESULT resHR;
DWORD resDWORD;
double resDouble;
};
} C2JMethodHookInfo;
#ifdef __cplusplus
}
#endif
#endif _NATIVCOM_