Trying to Interop a functionality from the Outside In API from Oracle.
Have the following function:
|
From the header files I reduced the parameters to:
|
Going through the header files, the example programs, and the documentation I found:
1. That pSpec could be a pointer to a buffer or NULL, so I set it to a IntPtr.Zero (documentation).
2. That dwFlags and dwReserved according to the documentation "Must be set by the developer to 0".
3. That pCallbackFunc can be set to NULL if I don't want to handle callbacks.
6. That the last two are based on structs that I wrote C# wrappers for using the [StructLayout(LayoutKind.Sequential)]. Then instatiated an instance and generated the parameters by first creating a IntPtr with Marshal.AllocHGlobal(Marshal.SizeOf(instance)), then getting the address value which is passed as a uint for dwCallbackData and a IntPtr for phExport.
The final parameter list is as follows:
|
still get an undefined error from the API.
Jim
Jim JonesPosted Mar 19, 2010, 12:09 PM
Sam,
The function shown is only one of many in the API. It does not compile. You surely must have seen errors from libraries/APIs/.libs/.dlls. Most of them have them and document them in a header file. This API has sccerr.h which is filled with several hundred. When I say the error is undefined, I mean that the function call from C# Interop returns 961, when I look for that number in the errors, I don't find it. Since it's being return from the dll, there isn't much I can do to figure out what it means.
In the past, working with this API I've gotten that code when my choice of parameters where incorrect. So looking for some insight into which parameters may be the problem.
Sam HobbsPosted Mar 16, 2010, 3:28 PM
I think you need to compile the code; the API does not compile. Or maybe I just don't understand what you mean by "from the API". How are you getting an error from the API? I have not heard of that; I don't know how to compile using the API.
I think you must define the undefined error. I don't know what is not defined and I doubt that anyone else does.
Thank you for all the details, but I think some of the most important details are not provided.