passing a char pointer between 64-bit to 32-bit dll?

New here.

I have a 64-bit dll application that calls a 32-bit dll.
The function call of the 32-bit dll is;
 
int SOMEFUNC(int input_code, char *input_str, int *output_code, char **output_str);


What I have done to pass the char * is;
1
2
3
char buffer[133] = "";
char *output_str = buffer;
int rc = SOMEFUNC(input_code, input_str, &output_code, &output_str);


My question and concern, is this an appropriate method of passing a char * between 32-bit and 64-bit dlls?
It functions correctly, just asking if this is correct or is there a better method.
This is native C++ application, not managed and not Windows specify.
The application is an internal CAD application accessing a function within a PDM software.

Thanks in advance.
Topic archived. No new replies allowed.