Mercurial > mplayer.hg
changeset 2502:67d859e9c29e
fixed, rotfl :p
author | alex |
---|---|
date | Sat, 27 Oct 2001 18:05:29 +0000 |
parents | d12f90b7d773 |
children | d21d8d5f2e23 |
files | loader/qtx/qtxload.c |
diffstat | 1 files changed, 12 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/loader/qtx/qtxload.c Sat Oct 27 17:45:27 2001 +0000 +++ b/loader/qtx/qtxload.c Sat Oct 27 18:05:29 2001 +0000 @@ -27,7 +27,6 @@ void *dispatcher; Setup_LDT_Keeper(); - Setup_FS_Segment(); handler = expLoadLibraryA("/usr/lib/win32/qtx/test.qtx"); dispatcher = GetProcAddress(handler, "CDComponentDispatch"); @@ -36,19 +35,20 @@ { ComponentResult ret; int (*dispatcher_func)(void *, void *); - struct ComponentParameters params; + struct ComponentParameters *params; void *globals; + dispatcher_func = dispatcher; + globals = malloc(sizeof(long)); (long)*(void **)globals = 0x2001; - params.flags = 0; - params.paramSize = sizeof(params); - params.what = 2; /* probarly register :p */ - params.params[0] = -1; - params.params[1] = -1; - memset(¶ms.params[0], 0x77, sizeof(params.params)*2); -// params.params[1] = 0x1000100f; + params = malloc(sizeof(struct ComponentParameters)); + + params->flags = 0; + params->paramSize = sizeof(params); + params->what = 0x3f; /* probarly register :p */ + params->params[0] = 0x1984; /* 0x1000100f will load QuickTime.qts */ /* 0x10001014 will use SendMessageA */ /* 0x10001019 returns 0 */ @@ -57,21 +57,14 @@ /* 0x1000102d is a dialog */ /* 0x10001032 returns 20001 => CDVersion */ /* 0x10001069 returns 8a */ -// params.params[0] = 0x1984; -// params.params[1] = 0x1337; -// params.params[1] = ComponentDummy; printf("params: flags: %d, paramSize: %d, what: %d\n", - params.flags, params.paramSize, params.what); - printf("params[0] = %x, params[1] = %x\n", params.params[0], - params.params[1]); + params->flags, params->paramSize, params->what); + printf("params[0] = %x\n", params->params[0]); ret = dispatcher_func(¶ms, globals); printf("CDComponentDispatch(%p, %p) => %x\n", ¶ms, globals, ret); free(globals); - printf("params: flags: %d, paramSize: %d, what: %d\n", - params.flags, params.paramSize, params.what); - printf("params[0] = %x, params[1] = %x\n", params.params[0], - params.params[1]); + free(params); } Restore_LDT_Keeper();