Can I use a callback function in DLL with ORA_FFI

From: cf <news_at_sitinfo.com>
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

Original text of this message