Can I use a callback function in DLL with ORA_FFI
Date: Fri, 19 Oct 2001 10:19:40 +0200
Message-ID: <3bcfe21c$0$14584$4d4eb98e_at_read.news.fr.uu.net>
Hi,
I have a DLL with a Function using a callback function.
Sample :
c:\MyDll.dll in This Dll a function : int MyFunction(char* param1, Wit
MyCallbackFunction)
Description of MyCallBackFunction : Typedef void (*Wit) (int param2, char*
param3)
/****************************************/
PACKAGE Sample1 IS
FUNCTION MyFunction (param1 Varchar2, ???) RETURN NUMBER;
END;
/****************************************/
PACKAGE BODY Sample1 IS
lh_Sample1 ora_ffi.libHandleType; ff_MyFunction_handle ora_ffi.funcHandleType;
Function ff_MyFunction(ff_Handle ora_ffi.funcHandleType, param1 Varchar2, MyCallbackFunction ???) RETURN NUMBER;
PRAGMA INTERFACE(C, ff_MyFunction,11265);
MyCallBackFunction ???
FUNCTION MyFunction (param1 Varchar2, MyCallbackFunction ???) RETURN NUMBER
Is
BEGIN
return (ff_MyFunction(ff_MyFunction_HANDLE, param1,
MyCallbackFunction));
END Init;
BEGIN
lh_Sample1 := ora_ffi.load_library('C:\','MyDll.dll');
ff_MyFunction_handle :=
ora_ffi.register_function(lh_Sample1,'MyFunction',ora_ffi.C_STD);
ora_ffi.register_Parameter(ff_Init_handle,ORA_FFI.C_CHAR_PTR); ora_ffi.register_Parameter(ff_Init_handle,???); ora_ffi.register_return(ff_Init_handle,ORA_FFI.C_DOUBLE);END;
/****************************************/
Could you give me some samples ?
Thanks in advance.
Christophe.
Received on Fri Oct 19 2001 - 10:19:40 CEST