Hi I try to register and call some functions of my own dll. After working (and failing) with PHP 4.3.3 I tried the new PHP 5.0.0b1. I was suprised to see that it didn't work much better, some errors still remain. In (win32, invokefunction) following variables are declared: void *w32api_return_buffer = NULL; int w32api_return_buffer_size = 0; zval **func_arguments = NULL; func_arguments gets later filled with if(zend_get_parameters_array_ex(argc, &func_arguments) == FAILURE) But this only works if there are not more than one arguments. If there are two or more the values get filled in w32api_return_buffer_size (second) and w32api_return_buffer (third) etc... I hardly believe that this was the intention. I temporarily fixed it by declaring func_arguments as array like func_arguments[10] so it will work for up to ten arguments, but I guess the right solution should be better than that. In PHP4 was an error where it always crashed in zend_hash_find when I tried to register more than 6 functions. This seems to be solved in PHP5 now. On the other hand I got a new problem in PHP5 that wasn't there in PHP4. In zend_std_get_method there's a variable zend_function *fbc; being filled later with if (zend_hash_find(&zobj->ce->function_table, lc_method_name, method_len+1, (void **)&fbc) == FAILURE) { Then comes a check for access rights: if (fbc->op_array.fn_flags & ZEND_ACC_PUBLIC) { The problem now is that these flags (and many more members of op_array) are bogus like 0xcccccccc. If I fill in by hand the value for ZEND_ACC_PUBLIC (0x100) then it works. I then tried to find out how I could tell from the beginning, what rights a function has. The registerfunction in Win32api.c has a second argument 'flags' which is nowhere explained. I just tried and filled in the 0x100 but to no avail. So: 1. What is this second argument 'flags' in registerfunction for? 2. How can I register a function with public access rights? (Do I even have to?) And to round it up I always get errors in the end for zend_hash_destroy. Looks like there are some problems with the memory handling. I hope this info is useful for some developers to fix it. F. Cenedese INDEL AG -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php