view loader/wrapper.h @ 30806:5e7d1ade0858

Make GetModuleHandle(NULL) return a valid pointer. Some codecs, and more recently Microsoft's CRT library, expect GetModuleHandle(NULL) to return a pointer to the program's PE header mapped in memory. Thus, just returning 0x0 or 0x1 won't do it anymore, so create a minimal PE header and return that. Patch originally by Gianluigi Tiesi ( mplayer (at) netfarm (dot) it ).
author sesse
date Fri, 05 Mar 2010 23:09:36 +0000
parents 32725ca88fed
children
line wrap: on
line source

#ifndef MPLAYER_WRAPPER_H
#define MPLAYER_WRAPPER_H

#include <inttypes.h>

typedef struct {
  uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax;
} reg386_t;

typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg,  uint32_t *flags);

extern wrapper_func_t report_entry, report_ret;

extern void (*wrapper_target)(void);

int wrapper(void);
int null_call(void);

#endif /* MPLAYER_WRAPPER_H */