vrclient: Add destructors for win objects

This commit is contained in:
Józef Kucia 2018-04-19 15:50:32 +02:00
parent 832108fc39
commit a1031dbce4
20 changed files with 769 additions and 84 deletions

View file

@ -120,6 +120,17 @@ print_sizes = []
class_versions = {}
def ivrclientcore_init(cppname, method):
if "002" in cppname:
return "ivrclientcore_002_init"
return "ivrclientcore_init"
def ivrclientcore_get_generic_interface(cppname, method):
return "ivrclientcore_get_generic_interface"
def ivrclientcore_cleanup(cppname, method):
return "ivrclientcore_cleanup"
def ivrsystem_get_dxgi_output_info(cppname, method):
param_count = len([p for p in method.get_children() if p.kind == clang.cindex.CursorKind.PARM_DECL])
return {
@ -157,6 +168,9 @@ def ivrcompositor_get_vulkan_device_extensions_required(cppname, method):
return "ivrcompositor_get_vulkan_device_extensions_required"
method_overrides = [
("IVRClientCore", "Init", ivrclientcore_init),
("IVRClientCore", "GetGenericInterface", ivrclientcore_get_generic_interface),
("IVRClientCore", "Cleanup", ivrclientcore_cleanup),
("IVRSystem", "GetDXGIOutputInfo", ivrsystem_get_dxgi_output_info),
("IVRSystem", "GetOutputDevice", ivrsystem_get_output_device),
("IVRCompositor", "Submit", ivrcompositor_submit),
@ -166,6 +180,7 @@ method_overrides = [
]
method_overrides_data = [
("IVRClientCore", "struct client_core_data"),
("IVRCompositor", "struct compositor_data"),
]
@ -283,8 +298,7 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e
cfile.write(" return ")
cpp.write(" return ")
should_gen_wrapper = strip_ns(method.result_type.spelling).startswith("IVR") or \
used_name.startswith("GetGenericInterface")
should_gen_wrapper = strip_ns(method.result_type.spelling).startswith("IVR")
if should_gen_wrapper:
cfile.write("create_win_interface(pchNameAndVersion,\n ")
@ -461,6 +475,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
cfile.write(" r->vtable = &%s_vtable;\n" % winclassname)
cfile.write(" r->linux_side = linux_side;\n")
cfile.write(" return r;\n}\n\n")
cfile.write("void destroy_%s(void *object)\n{\n" % winclassname)
cfile.write(" TRACE(\"%p\\n\", object);\n")
cfile.write(" HeapFree(GetProcessHeap(), 0, object);\n}\n\n")
cpp.write("#ifdef __cplusplus\n}\n#endif\n")
cpp_h.write("#ifdef __cplusplus\n}\n#endif\n")
@ -468,8 +485,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
constructors = open("win_constructors.h", "a")
constructors.write("extern void *create_%s(void *);\n" % winclassname)
destructors = open("win_destructors.h", "a")
destructors.write("extern void destroy_%s(void *);\n" % winclassname)
constructors = open("win_constructors_table.dat", "a")
constructors.write(" {\"%s\", &create_%s},\n" % (iface_version, winclassname))
constructors.write(" {\"%s\", &create_%s, &destroy_%s},\n" % (iface_version, winclassname, winclassname))
if iface_version in aliases.keys():
for alias in aliases[iface_version]:
constructors.write(" {\"%s\", &create_%s}, /* alias */\n" % (alias, winclassname))

View file

@ -65,18 +65,52 @@ uint32 vrclient_unix_path_to_dos_path(uint32 api_result, char *inout, uint32 ino
}
#endif
static BOOL array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
{
SIZE_T max_capacity, new_capacity;
void *new_elements;
if (count <= *capacity)
return TRUE;
max_capacity = ~(SIZE_T)0 / size;
if (count > max_capacity)
return FALSE;
new_capacity = max(1, *capacity);
while (new_capacity < count && new_capacity <= max_capacity / 2)
new_capacity *= 2;
if (new_capacity < count)
new_capacity = count;
if (!*elements)
new_elements = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, new_capacity * size);
else
new_elements = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *elements, new_capacity * size);
if (!new_elements)
return FALSE;
*elements = new_elements;
*capacity = new_capacity;
return TRUE;
}
#include "win_constructors.h"
#include "win_destructors.h"
typedef void (*pfn_dtor)(void *);
static const struct {
const char *iface_version;
void *(*ctor)(void *);
void (*dtor)(void *);
} constructors[] = {
#include "win_constructors_table.dat"
};
void *create_win_interface(const char *name, void *linux_side)
{
int i;
unsigned int i;
TRACE("trying to create %s\n", name);
@ -93,6 +127,18 @@ void *create_win_interface(const char *name, void *linux_side)
return NULL;
}
static pfn_dtor get_win_destructor(const char *name)
{
unsigned int i;
for(i = 0; i < sizeof(constructors) / sizeof(*constructors); ++i){
if(!strcmp(name, constructors[i].iface_version))
return constructors[i].dtor;
}
return NULL;
}
static void *vrclient_lib;
static void *(*vrclient_VRClientCoreFactory)(const char *name, int *return_code);
@ -168,6 +214,93 @@ static void load_vk_unwrappers(void)
get_native_VkQueue = (void*)GetProcAddress(h, "__wine_get_native_VkQueue");
}
EVRInitError ivrclientcore_002_init(EVRInitError (*cpp_func)(void *, EVRApplicationType),
void *linux_side, EVRApplicationType application_type,
unsigned int version, struct client_core_data *user_data)
{
TRACE("%p, %#x\n", linux_side, application_type);
InitializeCriticalSection(&user_data->critical_section);
return cpp_func(linux_side, application_type);
}
EVRInitError ivrclientcore_init(EVRInitError (*cpp_func)(void *, EVRApplicationType, const char *),
void *linux_side, EVRApplicationType application_type, const char *startup_info,
unsigned int version, struct client_core_data *user_data)
{
TRACE("%p, %#x, %p\n", linux_side, application_type, startup_info);
InitializeCriticalSection(&user_data->critical_section);
return cpp_func(linux_side, application_type, startup_info);
}
void *ivrclientcore_get_generic_interface(void *(*cpp_func)(void *, const char *, EVRInitError *),
void *linux_side, const char *name_and_version, EVRInitError *error,
unsigned int version, struct client_core_data *user_data)
{
struct generic_interface *iface;
pfn_dtor destructor;
void *win_object;
void *object;
TRACE("%p, %p, %p\n", linux_side, name_and_version, error);
if (!(object = cpp_func(linux_side, name_and_version, error)))
{
WARN("Failed to create %s.\n", name_and_version);
return NULL;
}
if (!(win_object = create_win_interface(name_and_version, object)))
{
ERR("Failed to create win object %s.\n", name_and_version);
return NULL;
}
if ((destructor = get_win_destructor(name_and_version)))
{
EnterCriticalSection(&user_data->critical_section);
if (array_reserve((void **)&user_data->created_interfaces,
&user_data->created_interfaces_size, user_data->created_interface_count + 1,
sizeof(*user_data->created_interfaces)))
{
iface = &user_data->created_interfaces[user_data->created_interface_count++];
iface->object = win_object;
iface->dtor = destructor;
}
else
{
ERR("Failed to add interface to array.\n");
}
LeaveCriticalSection(&user_data->critical_section);
}
return win_object;
}
void ivrclientcore_cleanup(void (*cpp_func)(void *), void *linux_side,
unsigned int version, struct client_core_data *user_data)
{
struct generic_interface *iface;
SIZE_T i;
TRACE("%p\n", linux_side);
EnterCriticalSection(&user_data->critical_section);
for (i = 0; i < user_data->created_interface_count; ++i)
{
iface = &user_data->created_interfaces[i];
iface->dtor(iface->object);
}
HeapFree(GetProcessHeap(), 0, user_data->created_interfaces);
user_data->created_interfaces = NULL;
user_data->created_interfaces_size = 0;
user_data->created_interface_count = 0;
LeaveCriticalSection(&user_data->critical_section);
DeleteCriticalSection(&user_data->critical_section);
cpp_func(linux_side);
}
void get_dxgi_output_info(void *cpp_func, void *linux_side,
int32_t *adapter_idx, unsigned int version)
{

View file

@ -38,12 +38,40 @@ void *create_LinuxMatchmakingServerListResponse(void *win);
typedef struct ID3D11Device ID3D11Device;
typedef struct IWineD3D11Device IWineD3D11Device;
struct generic_interface
{
void *object;
void (*dtor)(void *);
};
struct client_core_data
{
CRITICAL_SECTION critical_section;
struct generic_interface *created_interfaces;
SIZE_T created_interface_count;
SIZE_T created_interfaces_size;
};
struct compositor_data
{
ID3D11Device *d3d11_device;
IWineD3D11Device *wined3d_device;
};
EVRInitError ivrclientcore_002_init(EVRInitError (*cpp_func)(void *, EVRApplicationType),
void *linux_side, EVRApplicationType application_type,
unsigned int version, struct client_core_data *user_data);
EVRInitError ivrclientcore_init(EVRInitError (*cpp_func)(void *, EVRApplicationType, const char *),
void *linux_side, EVRApplicationType application_type, const char *startup_info,
unsigned int version, struct client_core_data *user_data);
void *ivrclientcore_get_generic_interface(void *(*cpp_func)(void *, const char *, EVRInitError *),
void *linux_side, const char *name_and_version, EVRInitError *error,
unsigned int version, struct client_core_data *user_data);
void ivrclientcore_cleanup(void (*cpp_func)(void *), void *linux_side,
unsigned int version, struct client_core_data *user_data);
void get_dxgi_output_info(void *cpp_func, void *linux_side,
int32_t *adapter_idx, unsigned int version);
void get_dxgi_output_info2(void *cpp_func, void *linux_side,

View file

@ -291,6 +291,12 @@ winIVRApplications_IVRApplications_006 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_006(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRApplications_IVRApplications_005.h"
typedef struct __winIVRApplications_IVRApplications_005 {
@ -510,6 +516,12 @@ winIVRApplications_IVRApplications_005 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRApplications_IVRApplications_004.h"
typedef struct __winIVRApplications_IVRApplications_004 {
@ -721,6 +733,12 @@ winIVRApplications_IVRApplications_004 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_004(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRApplications_IVRApplications_003.h"
typedef struct __winIVRApplications_IVRApplications_003 {
@ -916,6 +934,12 @@ winIVRApplications_IVRApplications_003 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRApplications_IVRApplications_002.h"
typedef struct __winIVRApplications_IVRApplications_002 {
@ -1103,6 +1127,12 @@ winIVRApplications_IVRApplications_002 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRApplications_IVRApplications_001.h"
typedef struct __winIVRApplications_IVRApplications_001 {
@ -1298,3 +1328,9 @@ winIVRApplications_IVRApplications_001 *create_winIVRApplications_IVRApplication
return r;
}
void destroy_winIVRApplications_IVRApplications_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -107,6 +107,12 @@ winIVRChaperone_IVRChaperone_003 *create_winIVRChaperone_IVRChaperone_003(void *
return r;
}
void destroy_winIVRChaperone_IVRChaperone_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRChaperone_IVRChaperone_002.h"
typedef struct __winIVRChaperone_IVRChaperone_002 {
@ -206,3 +212,9 @@ winIVRChaperone_IVRChaperone_002 *create_winIVRChaperone_IVRChaperone_002(void *
return r;
}
void destroy_winIVRChaperone_IVRChaperone_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -203,6 +203,12 @@ winIVRChaperoneSetup_IVRChaperoneSetup_005 *create_winIVRChaperoneSetup_IVRChape
return r;
}
void destroy_winIVRChaperoneSetup_IVRChaperoneSetup_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRChaperoneSetup_IVRChaperoneSetup_004.h"
typedef struct __winIVRChaperoneSetup_IVRChaperoneSetup_004 {
@ -358,3 +364,9 @@ winIVRChaperoneSetup_IVRChaperoneSetup_004 *create_winIVRChaperoneSetup_IVRChape
return r;
}
void destroy_winIVRChaperoneSetup_IVRChaperoneSetup_004(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -21,20 +21,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
typedef struct __winIVRClientCore_IVRClientCore_003 {
vtable_ptr *vtable;
void *linux_side;
struct client_core_data user_data;
} winIVRClientCore_IVRClientCore_003;
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_Init, 16)
EVRInitError __thiscall winIVRClientCore_IVRClientCore_003_Init(winIVRClientCore_IVRClientCore_003 *_this, EVRApplicationType eApplicationType, const char * pStartupInfo)
{
TRACE("%p\n", _this);
return cppIVRClientCore_IVRClientCore_003_Init(_this->linux_side, eApplicationType, pStartupInfo);
return ivrclientcore_init(cppIVRClientCore_IVRClientCore_003_Init, _this->linux_side, eApplicationType, pStartupInfo, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_Cleanup, 4)
void __thiscall winIVRClientCore_IVRClientCore_003_Cleanup(winIVRClientCore_IVRClientCore_003 *_this)
{
TRACE("%p\n", _this);
cppIVRClientCore_IVRClientCore_003_Cleanup(_this->linux_side);
ivrclientcore_cleanup(cppIVRClientCore_IVRClientCore_003_Cleanup, _this->linux_side, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid, 12)
@ -48,8 +49,7 @@ DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_GetGenericInterface,
void * __thiscall winIVRClientCore_IVRClientCore_003_GetGenericInterface(winIVRClientCore_IVRClientCore_003 *_this, const char * pchNameAndVersion, EVRInitError * peError)
{
TRACE("%p\n", _this);
return create_win_interface(pchNameAndVersion,
cppIVRClientCore_IVRClientCore_003_GetGenericInterface(_this->linux_side, pchNameAndVersion, peError));
return ivrclientcore_get_generic_interface(cppIVRClientCore_IVRClientCore_003_GetGenericInterface, _this->linux_side, pchNameAndVersion, peError, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_BIsHmdPresent, 4)
@ -100,25 +100,32 @@ winIVRClientCore_IVRClientCore_003 *create_winIVRClientCore_IVRClientCore_003(vo
return r;
}
void destroy_winIVRClientCore_IVRClientCore_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRClientCore_IVRClientCore_002.h"
typedef struct __winIVRClientCore_IVRClientCore_002 {
vtable_ptr *vtable;
void *linux_side;
struct client_core_data user_data;
} winIVRClientCore_IVRClientCore_002;
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_Init, 8)
EVRInitError __thiscall winIVRClientCore_IVRClientCore_002_Init(winIVRClientCore_IVRClientCore_002 *_this, EVRApplicationType eApplicationType)
{
TRACE("%p\n", _this);
return cppIVRClientCore_IVRClientCore_002_Init(_this->linux_side, eApplicationType);
return ivrclientcore_002_init(cppIVRClientCore_IVRClientCore_002_Init, _this->linux_side, eApplicationType, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_Cleanup, 4)
void __thiscall winIVRClientCore_IVRClientCore_002_Cleanup(winIVRClientCore_IVRClientCore_002 *_this)
{
TRACE("%p\n", _this);
cppIVRClientCore_IVRClientCore_002_Cleanup(_this->linux_side);
ivrclientcore_cleanup(cppIVRClientCore_IVRClientCore_002_Cleanup, _this->linux_side, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid, 12)
@ -132,8 +139,7 @@ DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_GetGenericInterface,
void * __thiscall winIVRClientCore_IVRClientCore_002_GetGenericInterface(winIVRClientCore_IVRClientCore_002 *_this, const char * pchNameAndVersion, EVRInitError * peError)
{
TRACE("%p\n", _this);
return create_win_interface(pchNameAndVersion,
cppIVRClientCore_IVRClientCore_002_GetGenericInterface(_this->linux_side, pchNameAndVersion, peError));
return ivrclientcore_get_generic_interface(cppIVRClientCore_IVRClientCore_002_GetGenericInterface, _this->linux_side, pchNameAndVersion, peError, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_BIsHmdPresent, 4)
@ -184,3 +190,9 @@ winIVRClientCore_IVRClientCore_002 *create_winIVRClientCore_IVRClientCore_002(vo
return r;
}
void destroy_winIVRClientCore_IVRClientCore_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -389,6 +389,12 @@ winIVRCompositor_IVRCompositor_022 *create_winIVRCompositor_IVRCompositor_022(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_022(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_021.h"
typedef struct __winIVRCompositor_IVRCompositor_021 {
@ -762,6 +768,12 @@ winIVRCompositor_IVRCompositor_021 *create_winIVRCompositor_IVRCompositor_021(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_021(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_020.h"
typedef struct __winIVRCompositor_IVRCompositor_020 {
@ -1119,6 +1131,12 @@ winIVRCompositor_IVRCompositor_020 *create_winIVRCompositor_IVRCompositor_020(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_020(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_019.h"
typedef struct __winIVRCompositor_IVRCompositor_019 {
@ -1468,6 +1486,12 @@ winIVRCompositor_IVRCompositor_019 *create_winIVRCompositor_IVRCompositor_019(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_019(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_018.h"
typedef struct __winIVRCompositor_IVRCompositor_018 {
@ -1801,6 +1825,12 @@ winIVRCompositor_IVRCompositor_018 *create_winIVRCompositor_IVRCompositor_018(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_018(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_016.h"
typedef struct __winIVRCompositor_IVRCompositor_016 {
@ -2109,6 +2139,12 @@ winIVRCompositor_IVRCompositor_016 *create_winIVRCompositor_IVRCompositor_016(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_016(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_015.h"
typedef struct __winIVRCompositor_IVRCompositor_015 {
@ -2433,6 +2469,12 @@ winIVRCompositor_IVRCompositor_015 *create_winIVRCompositor_IVRCompositor_015(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_015(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_014.h"
typedef struct __winIVRCompositor_IVRCompositor_014 {
@ -2693,6 +2735,12 @@ winIVRCompositor_IVRCompositor_014 *create_winIVRCompositor_IVRCompositor_014(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_014(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_013.h"
typedef struct __winIVRCompositor_IVRCompositor_013 {
@ -2937,6 +2985,12 @@ winIVRCompositor_IVRCompositor_013 *create_winIVRCompositor_IVRCompositor_013(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_013(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_012.h"
typedef struct __winIVRCompositor_IVRCompositor_012 {
@ -3173,6 +3227,12 @@ winIVRCompositor_IVRCompositor_012 *create_winIVRCompositor_IVRCompositor_012(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_012(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_011.h"
typedef struct __winIVRCompositor_IVRCompositor_011 {
@ -3393,6 +3453,12 @@ winIVRCompositor_IVRCompositor_011 *create_winIVRCompositor_IVRCompositor_011(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_011(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_010.h"
typedef struct __winIVRCompositor_IVRCompositor_010 {
@ -3613,6 +3679,12 @@ winIVRCompositor_IVRCompositor_010 *create_winIVRCompositor_IVRCompositor_010(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_010(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_009.h"
typedef struct __winIVRCompositor_IVRCompositor_009 {
@ -3833,6 +3905,12 @@ winIVRCompositor_IVRCompositor_009 *create_winIVRCompositor_IVRCompositor_009(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_009(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_008.h"
typedef struct __winIVRCompositor_IVRCompositor_008 {
@ -4069,6 +4147,12 @@ winIVRCompositor_IVRCompositor_008 *create_winIVRCompositor_IVRCompositor_008(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_008(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_007.h"
typedef struct __winIVRCompositor_IVRCompositor_007 {
@ -4249,6 +4333,12 @@ winIVRCompositor_IVRCompositor_007 *create_winIVRCompositor_IVRCompositor_007(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_007(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_006.h"
typedef struct __winIVRCompositor_IVRCompositor_006 {
@ -4437,6 +4527,12 @@ winIVRCompositor_IVRCompositor_006 *create_winIVRCompositor_IVRCompositor_006(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_006(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRCompositor_IVRCompositor_005.h"
typedef struct __winIVRCompositor_IVRCompositor_005 {
@ -4657,3 +4753,9 @@ winIVRCompositor_IVRCompositor_005 *create_winIVRCompositor_IVRCompositor_005(vo
return r;
}
void destroy_winIVRCompositor_IVRCompositor_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -59,3 +59,9 @@ winIVRDriverManager_IVRDriverManager_001 *create_winIVRDriverManager_IVRDriverMa
return r;
}
void destroy_winIVRDriverManager_IVRDriverManager_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -67,3 +67,9 @@ winIVRExtendedDisplay_IVRExtendedDisplay_001 *create_winIVRExtendedDisplay_IVREx
return r;
}
void destroy_winIVRExtendedDisplay_IVRExtendedDisplay_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -59,6 +59,12 @@ winIVRNotifications_IVRNotifications_002 *create_winIVRNotifications_IVRNotifica
return r;
}
void destroy_winIVRNotifications_IVRNotifications_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRNotifications_IVRNotifications_001.h"
typedef struct __winIVRNotifications_IVRNotifications_001 {
@ -110,3 +116,9 @@ winIVRNotifications_IVRNotifications_001 *create_winIVRNotifications_IVRNotifica
return r;
}
void destroy_winIVRNotifications_IVRNotifications_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -699,6 +699,12 @@ winIVROverlay_IVROverlay_018 *create_winIVROverlay_IVROverlay_018(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_018(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_017.h"
typedef struct __winIVROverlay_IVROverlay_017 {
@ -1390,6 +1396,12 @@ winIVROverlay_IVROverlay_017 *create_winIVROverlay_IVROverlay_017(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_017(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_016.h"
typedef struct __winIVROverlay_IVROverlay_016 {
@ -2065,6 +2077,12 @@ winIVROverlay_IVROverlay_016 *create_winIVROverlay_IVROverlay_016(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_016(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_014.h"
typedef struct __winIVROverlay_IVROverlay_014 {
@ -2692,6 +2710,12 @@ winIVROverlay_IVROverlay_014 *create_winIVROverlay_IVROverlay_014(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_014(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_013.h"
typedef struct __winIVROverlay_IVROverlay_013 {
@ -3303,6 +3327,12 @@ winIVROverlay_IVROverlay_013 *create_winIVROverlay_IVROverlay_013(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_013(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_012.h"
typedef struct __winIVROverlay_IVROverlay_012 {
@ -3874,6 +3904,12 @@ winIVROverlay_IVROverlay_012 *create_winIVROverlay_IVROverlay_012(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_012(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_011.h"
typedef struct __winIVROverlay_IVROverlay_011 {
@ -4437,6 +4473,12 @@ winIVROverlay_IVROverlay_011 *create_winIVROverlay_IVROverlay_011(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_011(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_010.h"
typedef struct __winIVROverlay_IVROverlay_010 {
@ -4968,6 +5010,12 @@ winIVROverlay_IVROverlay_010 *create_winIVROverlay_IVROverlay_010(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_010(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_008.h"
typedef struct __winIVROverlay_IVROverlay_008 {
@ -5475,6 +5523,12 @@ winIVROverlay_IVROverlay_008 *create_winIVROverlay_IVROverlay_008(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_008(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_007.h"
typedef struct __winIVROverlay_IVROverlay_007 {
@ -5958,6 +6012,12 @@ winIVROverlay_IVROverlay_007 *create_winIVROverlay_IVROverlay_007(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_007(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_005.h"
typedef struct __winIVROverlay_IVROverlay_005 {
@ -6401,6 +6461,12 @@ winIVROverlay_IVROverlay_005 *create_winIVROverlay_IVROverlay_005(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_004.h"
typedef struct __winIVROverlay_IVROverlay_004 {
@ -6812,6 +6878,12 @@ winIVROverlay_IVROverlay_004 *create_winIVROverlay_IVROverlay_004(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_004(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_003.h"
typedef struct __winIVROverlay_IVROverlay_003 {
@ -7207,6 +7279,12 @@ winIVROverlay_IVROverlay_003 *create_winIVROverlay_IVROverlay_003(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_002.h"
typedef struct __winIVROverlay_IVROverlay_002 {
@ -7570,6 +7648,12 @@ winIVROverlay_IVROverlay_002 *create_winIVROverlay_IVROverlay_002(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVROverlay_IVROverlay_001.h"
typedef struct __winIVROverlay_IVROverlay_001 {
@ -7917,3 +8001,9 @@ winIVROverlay_IVROverlay_001 *create_winIVROverlay_IVROverlay_001(void *linux_si
return r;
}
void destroy_winIVROverlay_IVROverlay_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -187,6 +187,12 @@ winIVRRenderModels_IVRRenderModels_005 *create_winIVRRenderModels_IVRRenderModel
return r;
}
void destroy_winIVRRenderModels_IVRRenderModels_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRRenderModels_IVRRenderModels_004.h"
typedef struct __winIVRRenderModels_IVRRenderModels_004 {
@ -326,6 +332,12 @@ winIVRRenderModels_IVRRenderModels_004 *create_winIVRRenderModels_IVRRenderModel
return r;
}
void destroy_winIVRRenderModels_IVRRenderModels_004(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRRenderModels_IVRRenderModels_002.h"
typedef struct __winIVRRenderModels_IVRRenderModels_002 {
@ -449,6 +461,12 @@ winIVRRenderModels_IVRRenderModels_002 *create_winIVRRenderModels_IVRRenderModel
return r;
}
void destroy_winIVRRenderModels_IVRRenderModels_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRRenderModels_IVRRenderModels_001.h"
typedef struct __winIVRRenderModels_IVRRenderModels_001 {
@ -508,3 +526,9 @@ winIVRRenderModels_IVRRenderModels_001 *create_winIVRRenderModels_IVRRenderModel
return r;
}
void destroy_winIVRRenderModels_IVRRenderModels_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -59,3 +59,9 @@ winIVRResources_IVRResources_001 *create_winIVRResources_IVRResources_001(void *
return r;
}
void destroy_winIVRResources_IVRResources_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -99,3 +99,9 @@ winIVRScreenshots_IVRScreenshots_001 *create_winIVRScreenshots_IVRScreenshots_00
return r;
}
void destroy_winIVRScreenshots_IVRScreenshots_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -139,6 +139,12 @@ winIVRSettings_IVRSettings_002 *create_winIVRSettings_IVRSettings_002(void *linu
return r;
}
void destroy_winIVRSettings_IVRSettings_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSettings_IVRSettings_001.h"
typedef struct __winIVRSettings_IVRSettings_001 {
@ -262,3 +268,9 @@ winIVRSettings_IVRSettings_001 *create_winIVRSettings_IVRSettings_001(void *linu
return r;
}
void destroy_winIVRSettings_IVRSettings_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -425,6 +425,12 @@ winIVRSystem_IVRSystem_019 *create_winIVRSystem_IVRSystem_019(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_019(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_017.h"
typedef struct __winIVRSystem_IVRSystem_017 {
@ -818,6 +824,12 @@ winIVRSystem_IVRSystem_017 *create_winIVRSystem_IVRSystem_017(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_017(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_016.h"
typedef struct __winIVRSystem_IVRSystem_016 {
@ -1211,6 +1223,12 @@ winIVRSystem_IVRSystem_016 *create_winIVRSystem_IVRSystem_016(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_016(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_015.h"
typedef struct __winIVRSystem_IVRSystem_015 {
@ -1596,6 +1614,12 @@ winIVRSystem_IVRSystem_015 *create_winIVRSystem_IVRSystem_015(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_015(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_014.h"
typedef struct __winIVRSystem_IVRSystem_014 {
@ -1981,6 +2005,12 @@ winIVRSystem_IVRSystem_014 *create_winIVRSystem_IVRSystem_014(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_014(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_012.h"
typedef struct __winIVRSystem_IVRSystem_012 {
@ -2367,6 +2397,12 @@ winIVRSystem_IVRSystem_012 *create_winIVRSystem_IVRSystem_012(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_012(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_011.h"
typedef struct __winIVRSystem_IVRSystem_011 {
@ -2769,6 +2805,12 @@ winIVRSystem_IVRSystem_011 *create_winIVRSystem_IVRSystem_011(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_011(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_010.h"
typedef struct __winIVRSystem_IVRSystem_010 {
@ -3171,6 +3213,12 @@ winIVRSystem_IVRSystem_010 *create_winIVRSystem_IVRSystem_010(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_010(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_009.h"
typedef struct __winIVRSystem_IVRSystem_009 {
@ -3541,6 +3589,12 @@ winIVRSystem_IVRSystem_009 *create_winIVRSystem_IVRSystem_009(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_009(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_006.h"
typedef struct __winIVRSystem_IVRSystem_006 {
@ -3911,6 +3965,12 @@ winIVRSystem_IVRSystem_006 *create_winIVRSystem_IVRSystem_006(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_006(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_005.h"
typedef struct __winIVRSystem_IVRSystem_005 {
@ -4240,6 +4300,12 @@ winIVRSystem_IVRSystem_005 *create_winIVRSystem_IVRSystem_005(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_005(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_004.h"
typedef struct __winIVRSystem_IVRSystem_004 {
@ -4561,6 +4627,12 @@ winIVRSystem_IVRSystem_004 *create_winIVRSystem_IVRSystem_004(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_004(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRSystem_IVRSystem_003.h"
typedef struct __winIVRSystem_IVRSystem_003 {
@ -4898,3 +4970,9 @@ winIVRSystem_IVRSystem_003 *create_winIVRSystem_IVRSystem_003(void *linux_side)
return r;
}
void destroy_winIVRSystem_IVRSystem_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -139,6 +139,12 @@ winIVRTrackedCamera_IVRTrackedCamera_003 *create_winIVRTrackedCamera_IVRTrackedC
return r;
}
void destroy_winIVRTrackedCamera_IVRTrackedCamera_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRTrackedCamera_IVRTrackedCamera_002.h"
typedef struct __winIVRTrackedCamera_IVRTrackedCamera_002 {
@ -230,6 +236,12 @@ winIVRTrackedCamera_IVRTrackedCamera_002 *create_winIVRTrackedCamera_IVRTrackedC
return r;
}
void destroy_winIVRTrackedCamera_IVRTrackedCamera_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRTrackedCamera_IVRTrackedCamera_001.h"
typedef struct __winIVRTrackedCamera_IVRTrackedCamera_001 {
@ -401,3 +413,9 @@ winIVRTrackedCamera_IVRTrackedCamera_001 *create_winIVRTrackedCamera_IVRTrackedC
return r;
}
void destroy_winIVRTrackedCamera_IVRTrackedCamera_001(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}

View file

@ -1,72 +1,72 @@
{"IVRSystem_019", &create_winIVRSystem_IVRSystem_019},
{"IVRApplications_006", &create_winIVRApplications_IVRApplications_006},
{"IVRSettings_002", &create_winIVRSettings_IVRSettings_002},
{"IVRChaperone_003", &create_winIVRChaperone_IVRChaperone_003},
{"IVRChaperoneSetup_005", &create_winIVRChaperoneSetup_IVRChaperoneSetup_005},
{"IVRCompositor_022", &create_winIVRCompositor_IVRCompositor_022},
{"IVRNotifications_002", &create_winIVRNotifications_IVRNotifications_002},
{"IVROverlay_018", &create_winIVROverlay_IVROverlay_018},
{"IVRRenderModels_005", &create_winIVRRenderModels_IVRRenderModels_005},
{"IVRExtendedDisplay_001", &create_winIVRExtendedDisplay_IVRExtendedDisplay_001},
{"IVRTrackedCamera_003", &create_winIVRTrackedCamera_IVRTrackedCamera_003},
{"IVRScreenshots_001", &create_winIVRScreenshots_IVRScreenshots_001},
{"IVRResources_001", &create_winIVRResources_IVRResources_001},
{"IVRDriverManager_001", &create_winIVRDriverManager_IVRDriverManager_001},
{"IVRClientCore_003", &create_winIVRClientCore_IVRClientCore_003},
{"IVRSystem_017", &create_winIVRSystem_IVRSystem_017},
{"IVROverlay_017", &create_winIVROverlay_IVROverlay_017},
{"IVRCompositor_021", &create_winIVRCompositor_IVRCompositor_021},
{"IVROverlay_016", &create_winIVROverlay_IVROverlay_016},
{"IVRSystem_016", &create_winIVRSystem_IVRSystem_016},
{"IVRCompositor_020", &create_winIVRCompositor_IVRCompositor_020},
{"IVRClientCore_002", &create_winIVRClientCore_IVRClientCore_002},
{"IVRSystem_015", &create_winIVRSystem_IVRSystem_015},
{"IVROverlay_014", &create_winIVROverlay_IVROverlay_014},
{"IVRCompositor_019", &create_winIVRCompositor_IVRCompositor_019},
{"IVRSystem_014", &create_winIVRSystem_IVRSystem_014},
{"IVRCompositor_018", &create_winIVRCompositor_IVRCompositor_018},
{"IVROverlay_013", &create_winIVROverlay_IVROverlay_013},
{"IVRSystem_012", &create_winIVRSystem_IVRSystem_012},
{"IVRCompositor_016", &create_winIVRCompositor_IVRCompositor_016},
{"IVRSettings_001", &create_winIVRSettings_IVRSettings_001},
{"IVRApplications_005", &create_winIVRApplications_IVRApplications_005},
{"IVRCompositor_015", &create_winIVRCompositor_IVRCompositor_015},
{"IVROverlay_012", &create_winIVROverlay_IVROverlay_012},
{"IVRTrackedCamera_002", &create_winIVRTrackedCamera_IVRTrackedCamera_002},
{"IVRCompositor_014", &create_winIVRCompositor_IVRCompositor_014},
{"IVROverlay_011", &create_winIVROverlay_IVROverlay_011},
{"IVRCompositor_013", &create_winIVRCompositor_IVRCompositor_013},
{"IVRSystem_011", &create_winIVRSystem_IVRSystem_011},
{"IVRApplications_004", &create_winIVRApplications_IVRApplications_004},
{"IVROverlay_010", &create_winIVROverlay_IVROverlay_010},
{"IVRRenderModels_004", &create_winIVRRenderModels_IVRRenderModels_004},
{"IVRCompositor_012", &create_winIVRCompositor_IVRCompositor_012},
{"IVRApplications_003", &create_winIVRApplications_IVRApplications_003},
{"IVRCompositor_011", &create_winIVRCompositor_IVRCompositor_011},
{"IVRRenderModels_002", &create_winIVRRenderModels_IVRRenderModels_002},
{"IVRSystem_010", &create_winIVRSystem_IVRSystem_010},
{"IVRApplications_002", &create_winIVRApplications_IVRApplications_002},
{"IVRChaperoneSetup_004", &create_winIVRChaperoneSetup_IVRChaperoneSetup_004},
{"IVRCompositor_010", &create_winIVRCompositor_IVRCompositor_010},
{"IVROverlay_008", &create_winIVROverlay_IVROverlay_008},
{"IVRTrackedCamera_001", &create_winIVRTrackedCamera_IVRTrackedCamera_001},
{"IVRCompositor_009", &create_winIVRCompositor_IVRCompositor_009},
{"IVRSystem_009", &create_winIVRSystem_IVRSystem_009},
{"IVROverlay_007", &create_winIVROverlay_IVROverlay_007},
{"IVRSystem_006", &create_winIVRSystem_IVRSystem_006},
{"IVRApplications_001", &create_winIVRApplications_IVRApplications_001},
{"IVRChaperone_002", &create_winIVRChaperone_IVRChaperone_002},
{"IVRCompositor_008", &create_winIVRCompositor_IVRCompositor_008},
{"IVRNotifications_001", &create_winIVRNotifications_IVRNotifications_001},
{"IVROverlay_005", &create_winIVROverlay_IVROverlay_005},
{"IVRRenderModels_001", &create_winIVRRenderModels_IVRRenderModels_001},
{"IVRSystem_005", &create_winIVRSystem_IVRSystem_005},
{"IVRCompositor_007", &create_winIVRCompositor_IVRCompositor_007},
{"IVROverlay_004", &create_winIVROverlay_IVROverlay_004},
{"IVROverlay_003", &create_winIVROverlay_IVROverlay_003},
{"IVROverlay_002", &create_winIVROverlay_IVROverlay_002},
{"IVRSystem_004", &create_winIVRSystem_IVRSystem_004},
{"IVRCompositor_006", &create_winIVRCompositor_IVRCompositor_006},
{"IVROverlay_001", &create_winIVROverlay_IVROverlay_001},
{"IVRSystem_003", &create_winIVRSystem_IVRSystem_003},
{"IVRCompositor_005", &create_winIVRCompositor_IVRCompositor_005},
{"IVRSystem_019", &create_winIVRSystem_IVRSystem_019, &destroy_winIVRSystem_IVRSystem_019},
{"IVRApplications_006", &create_winIVRApplications_IVRApplications_006, &destroy_winIVRApplications_IVRApplications_006},
{"IVRSettings_002", &create_winIVRSettings_IVRSettings_002, &destroy_winIVRSettings_IVRSettings_002},
{"IVRChaperone_003", &create_winIVRChaperone_IVRChaperone_003, &destroy_winIVRChaperone_IVRChaperone_003},
{"IVRChaperoneSetup_005", &create_winIVRChaperoneSetup_IVRChaperoneSetup_005, &destroy_winIVRChaperoneSetup_IVRChaperoneSetup_005},
{"IVRCompositor_022", &create_winIVRCompositor_IVRCompositor_022, &destroy_winIVRCompositor_IVRCompositor_022},
{"IVRNotifications_002", &create_winIVRNotifications_IVRNotifications_002, &destroy_winIVRNotifications_IVRNotifications_002},
{"IVROverlay_018", &create_winIVROverlay_IVROverlay_018, &destroy_winIVROverlay_IVROverlay_018},
{"IVRRenderModels_005", &create_winIVRRenderModels_IVRRenderModels_005, &destroy_winIVRRenderModels_IVRRenderModels_005},
{"IVRExtendedDisplay_001", &create_winIVRExtendedDisplay_IVRExtendedDisplay_001, &destroy_winIVRExtendedDisplay_IVRExtendedDisplay_001},
{"IVRTrackedCamera_003", &create_winIVRTrackedCamera_IVRTrackedCamera_003, &destroy_winIVRTrackedCamera_IVRTrackedCamera_003},
{"IVRScreenshots_001", &create_winIVRScreenshots_IVRScreenshots_001, &destroy_winIVRScreenshots_IVRScreenshots_001},
{"IVRResources_001", &create_winIVRResources_IVRResources_001, &destroy_winIVRResources_IVRResources_001},
{"IVRDriverManager_001", &create_winIVRDriverManager_IVRDriverManager_001, &destroy_winIVRDriverManager_IVRDriverManager_001},
{"IVRClientCore_003", &create_winIVRClientCore_IVRClientCore_003, &destroy_winIVRClientCore_IVRClientCore_003},
{"IVRSystem_017", &create_winIVRSystem_IVRSystem_017, &destroy_winIVRSystem_IVRSystem_017},
{"IVROverlay_017", &create_winIVROverlay_IVROverlay_017, &destroy_winIVROverlay_IVROverlay_017},
{"IVRCompositor_021", &create_winIVRCompositor_IVRCompositor_021, &destroy_winIVRCompositor_IVRCompositor_021},
{"IVROverlay_016", &create_winIVROverlay_IVROverlay_016, &destroy_winIVROverlay_IVROverlay_016},
{"IVRSystem_016", &create_winIVRSystem_IVRSystem_016, &destroy_winIVRSystem_IVRSystem_016},
{"IVRCompositor_020", &create_winIVRCompositor_IVRCompositor_020, &destroy_winIVRCompositor_IVRCompositor_020},
{"IVRClientCore_002", &create_winIVRClientCore_IVRClientCore_002, &destroy_winIVRClientCore_IVRClientCore_002},
{"IVRSystem_015", &create_winIVRSystem_IVRSystem_015, &destroy_winIVRSystem_IVRSystem_015},
{"IVROverlay_014", &create_winIVROverlay_IVROverlay_014, &destroy_winIVROverlay_IVROverlay_014},
{"IVRCompositor_019", &create_winIVRCompositor_IVRCompositor_019, &destroy_winIVRCompositor_IVRCompositor_019},
{"IVRSystem_014", &create_winIVRSystem_IVRSystem_014, &destroy_winIVRSystem_IVRSystem_014},
{"IVRCompositor_018", &create_winIVRCompositor_IVRCompositor_018, &destroy_winIVRCompositor_IVRCompositor_018},
{"IVROverlay_013", &create_winIVROverlay_IVROverlay_013, &destroy_winIVROverlay_IVROverlay_013},
{"IVRSystem_012", &create_winIVRSystem_IVRSystem_012, &destroy_winIVRSystem_IVRSystem_012},
{"IVRCompositor_016", &create_winIVRCompositor_IVRCompositor_016, &destroy_winIVRCompositor_IVRCompositor_016},
{"IVRSettings_001", &create_winIVRSettings_IVRSettings_001, &destroy_winIVRSettings_IVRSettings_001},
{"IVRApplications_005", &create_winIVRApplications_IVRApplications_005, &destroy_winIVRApplications_IVRApplications_005},
{"IVRCompositor_015", &create_winIVRCompositor_IVRCompositor_015, &destroy_winIVRCompositor_IVRCompositor_015},
{"IVROverlay_012", &create_winIVROverlay_IVROverlay_012, &destroy_winIVROverlay_IVROverlay_012},
{"IVRTrackedCamera_002", &create_winIVRTrackedCamera_IVRTrackedCamera_002, &destroy_winIVRTrackedCamera_IVRTrackedCamera_002},
{"IVRCompositor_014", &create_winIVRCompositor_IVRCompositor_014, &destroy_winIVRCompositor_IVRCompositor_014},
{"IVROverlay_011", &create_winIVROverlay_IVROverlay_011, &destroy_winIVROverlay_IVROverlay_011},
{"IVRCompositor_013", &create_winIVRCompositor_IVRCompositor_013, &destroy_winIVRCompositor_IVRCompositor_013},
{"IVRSystem_011", &create_winIVRSystem_IVRSystem_011, &destroy_winIVRSystem_IVRSystem_011},
{"IVRApplications_004", &create_winIVRApplications_IVRApplications_004, &destroy_winIVRApplications_IVRApplications_004},
{"IVROverlay_010", &create_winIVROverlay_IVROverlay_010, &destroy_winIVROverlay_IVROverlay_010},
{"IVRRenderModels_004", &create_winIVRRenderModels_IVRRenderModels_004, &destroy_winIVRRenderModels_IVRRenderModels_004},
{"IVRCompositor_012", &create_winIVRCompositor_IVRCompositor_012, &destroy_winIVRCompositor_IVRCompositor_012},
{"IVRApplications_003", &create_winIVRApplications_IVRApplications_003, &destroy_winIVRApplications_IVRApplications_003},
{"IVRCompositor_011", &create_winIVRCompositor_IVRCompositor_011, &destroy_winIVRCompositor_IVRCompositor_011},
{"IVRRenderModels_002", &create_winIVRRenderModels_IVRRenderModels_002, &destroy_winIVRRenderModels_IVRRenderModels_002},
{"IVRSystem_010", &create_winIVRSystem_IVRSystem_010, &destroy_winIVRSystem_IVRSystem_010},
{"IVRApplications_002", &create_winIVRApplications_IVRApplications_002, &destroy_winIVRApplications_IVRApplications_002},
{"IVRChaperoneSetup_004", &create_winIVRChaperoneSetup_IVRChaperoneSetup_004, &destroy_winIVRChaperoneSetup_IVRChaperoneSetup_004},
{"IVRCompositor_010", &create_winIVRCompositor_IVRCompositor_010, &destroy_winIVRCompositor_IVRCompositor_010},
{"IVROverlay_008", &create_winIVROverlay_IVROverlay_008, &destroy_winIVROverlay_IVROverlay_008},
{"IVRTrackedCamera_001", &create_winIVRTrackedCamera_IVRTrackedCamera_001, &destroy_winIVRTrackedCamera_IVRTrackedCamera_001},
{"IVRCompositor_009", &create_winIVRCompositor_IVRCompositor_009, &destroy_winIVRCompositor_IVRCompositor_009},
{"IVRSystem_009", &create_winIVRSystem_IVRSystem_009, &destroy_winIVRSystem_IVRSystem_009},
{"IVROverlay_007", &create_winIVROverlay_IVROverlay_007, &destroy_winIVROverlay_IVROverlay_007},
{"IVRSystem_006", &create_winIVRSystem_IVRSystem_006, &destroy_winIVRSystem_IVRSystem_006},
{"IVRApplications_001", &create_winIVRApplications_IVRApplications_001, &destroy_winIVRApplications_IVRApplications_001},
{"IVRChaperone_002", &create_winIVRChaperone_IVRChaperone_002, &destroy_winIVRChaperone_IVRChaperone_002},
{"IVRCompositor_008", &create_winIVRCompositor_IVRCompositor_008, &destroy_winIVRCompositor_IVRCompositor_008},
{"IVRNotifications_001", &create_winIVRNotifications_IVRNotifications_001, &destroy_winIVRNotifications_IVRNotifications_001},
{"IVROverlay_005", &create_winIVROverlay_IVROverlay_005, &destroy_winIVROverlay_IVROverlay_005},
{"IVRRenderModels_001", &create_winIVRRenderModels_IVRRenderModels_001, &destroy_winIVRRenderModels_IVRRenderModels_001},
{"IVRSystem_005", &create_winIVRSystem_IVRSystem_005, &destroy_winIVRSystem_IVRSystem_005},
{"IVRCompositor_007", &create_winIVRCompositor_IVRCompositor_007, &destroy_winIVRCompositor_IVRCompositor_007},
{"IVROverlay_004", &create_winIVROverlay_IVROverlay_004, &destroy_winIVROverlay_IVROverlay_004},
{"IVROverlay_003", &create_winIVROverlay_IVROverlay_003, &destroy_winIVROverlay_IVROverlay_003},
{"IVROverlay_002", &create_winIVROverlay_IVROverlay_002, &destroy_winIVROverlay_IVROverlay_002},
{"IVRSystem_004", &create_winIVRSystem_IVRSystem_004, &destroy_winIVRSystem_IVRSystem_004},
{"IVRCompositor_006", &create_winIVRCompositor_IVRCompositor_006, &destroy_winIVRCompositor_IVRCompositor_006},
{"IVROverlay_001", &create_winIVROverlay_IVROverlay_001, &destroy_winIVROverlay_IVROverlay_001},
{"IVRSystem_003", &create_winIVRSystem_IVRSystem_003, &destroy_winIVRSystem_IVRSystem_003},
{"IVRCompositor_005", &create_winIVRCompositor_IVRCompositor_005, &destroy_winIVRCompositor_IVRCompositor_005},

View file

@ -0,0 +1,72 @@
extern void destroy_winIVRSystem_IVRSystem_019(void *);
extern void destroy_winIVRApplications_IVRApplications_006(void *);
extern void destroy_winIVRSettings_IVRSettings_002(void *);
extern void destroy_winIVRChaperone_IVRChaperone_003(void *);
extern void destroy_winIVRChaperoneSetup_IVRChaperoneSetup_005(void *);
extern void destroy_winIVRCompositor_IVRCompositor_022(void *);
extern void destroy_winIVRNotifications_IVRNotifications_002(void *);
extern void destroy_winIVROverlay_IVROverlay_018(void *);
extern void destroy_winIVRRenderModels_IVRRenderModels_005(void *);
extern void destroy_winIVRExtendedDisplay_IVRExtendedDisplay_001(void *);
extern void destroy_winIVRTrackedCamera_IVRTrackedCamera_003(void *);
extern void destroy_winIVRScreenshots_IVRScreenshots_001(void *);
extern void destroy_winIVRResources_IVRResources_001(void *);
extern void destroy_winIVRDriverManager_IVRDriverManager_001(void *);
extern void destroy_winIVRClientCore_IVRClientCore_003(void *);
extern void destroy_winIVRSystem_IVRSystem_017(void *);
extern void destroy_winIVROverlay_IVROverlay_017(void *);
extern void destroy_winIVRCompositor_IVRCompositor_021(void *);
extern void destroy_winIVROverlay_IVROverlay_016(void *);
extern void destroy_winIVRSystem_IVRSystem_016(void *);
extern void destroy_winIVRCompositor_IVRCompositor_020(void *);
extern void destroy_winIVRClientCore_IVRClientCore_002(void *);
extern void destroy_winIVRSystem_IVRSystem_015(void *);
extern void destroy_winIVROverlay_IVROverlay_014(void *);
extern void destroy_winIVRCompositor_IVRCompositor_019(void *);
extern void destroy_winIVRSystem_IVRSystem_014(void *);
extern void destroy_winIVRCompositor_IVRCompositor_018(void *);
extern void destroy_winIVROverlay_IVROverlay_013(void *);
extern void destroy_winIVRSystem_IVRSystem_012(void *);
extern void destroy_winIVRCompositor_IVRCompositor_016(void *);
extern void destroy_winIVRSettings_IVRSettings_001(void *);
extern void destroy_winIVRApplications_IVRApplications_005(void *);
extern void destroy_winIVRCompositor_IVRCompositor_015(void *);
extern void destroy_winIVROverlay_IVROverlay_012(void *);
extern void destroy_winIVRTrackedCamera_IVRTrackedCamera_002(void *);
extern void destroy_winIVRCompositor_IVRCompositor_014(void *);
extern void destroy_winIVROverlay_IVROverlay_011(void *);
extern void destroy_winIVRCompositor_IVRCompositor_013(void *);
extern void destroy_winIVRSystem_IVRSystem_011(void *);
extern void destroy_winIVRApplications_IVRApplications_004(void *);
extern void destroy_winIVROverlay_IVROverlay_010(void *);
extern void destroy_winIVRRenderModels_IVRRenderModels_004(void *);
extern void destroy_winIVRCompositor_IVRCompositor_012(void *);
extern void destroy_winIVRApplications_IVRApplications_003(void *);
extern void destroy_winIVRCompositor_IVRCompositor_011(void *);
extern void destroy_winIVRRenderModels_IVRRenderModels_002(void *);
extern void destroy_winIVRSystem_IVRSystem_010(void *);
extern void destroy_winIVRApplications_IVRApplications_002(void *);
extern void destroy_winIVRChaperoneSetup_IVRChaperoneSetup_004(void *);
extern void destroy_winIVRCompositor_IVRCompositor_010(void *);
extern void destroy_winIVROverlay_IVROverlay_008(void *);
extern void destroy_winIVRTrackedCamera_IVRTrackedCamera_001(void *);
extern void destroy_winIVRCompositor_IVRCompositor_009(void *);
extern void destroy_winIVRSystem_IVRSystem_009(void *);
extern void destroy_winIVROverlay_IVROverlay_007(void *);
extern void destroy_winIVRSystem_IVRSystem_006(void *);
extern void destroy_winIVRApplications_IVRApplications_001(void *);
extern void destroy_winIVRChaperone_IVRChaperone_002(void *);
extern void destroy_winIVRCompositor_IVRCompositor_008(void *);
extern void destroy_winIVRNotifications_IVRNotifications_001(void *);
extern void destroy_winIVROverlay_IVROverlay_005(void *);
extern void destroy_winIVRRenderModels_IVRRenderModels_001(void *);
extern void destroy_winIVRSystem_IVRSystem_005(void *);
extern void destroy_winIVRCompositor_IVRCompositor_007(void *);
extern void destroy_winIVROverlay_IVROverlay_004(void *);
extern void destroy_winIVROverlay_IVROverlay_003(void *);
extern void destroy_winIVROverlay_IVROverlay_002(void *);
extern void destroy_winIVRSystem_IVRSystem_004(void *);
extern void destroy_winIVRCompositor_IVRCompositor_006(void *);
extern void destroy_winIVROverlay_IVROverlay_001(void *);
extern void destroy_winIVRSystem_IVRSystem_003(void *);
extern void destroy_winIVRCompositor_IVRCompositor_005(void *);