The mi_retrieve_callback() function
The mi_retrieve_callback() function retrieves the handle of a registered callback.
Syntax
mi_integer mi_retrieve_callback(conn, event_type, cback_handle,
cback_func,user_data)
MI_CONNECTION *conn;
MI_EVENT_TYPE event_type;
MI_CALLBACK_HANDLE *cback_handle;
MI_CALLBACK_FUNC *cback_func;
void **user_data;
- conn
- This value is either NULL or a connection descriptor established by a previous call to mi_open(), mi_server_connect(), or mi_server_reconnect().
- event_type
- The type of event that the cback_handle callback handles. For a list of valid event types, see the Informix® DataBlade® API Programmer's Guide.
- cback_handle
- The callback handle from a previous call to mi_retrieve_callback().
- cback_func
- A pointer to the location at which to return a pointer to the callback function.
- user_data
- The user-supplied argument to the callback function.
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
Yes | Yes |
Usage
The mi_retrieve_callback() function returns a callback-function pointer (MI_CALLBACK_FUNC) when you pass in a callback handle (MI_CALLBACK_HANDLE). This function is useful when a DataBlade® API module needs to temporarily change the callback that is registered for a particular event.
Server only: For
a C UDR, conn must be NULL for the following event types:
- MI_EVENT_SAVEPOINT
- MI_EVENT_COMMIT_ABORT
- MI_EVENT_POST_XACT
- MI_EVENT_END_STMT
- MI_EVENT_END_XACT
- MI_EVENT_END_SESSION
Client only: For a client
LIBMI application, you must provide a valid connection descriptor
to mi_retrieve_callback() for callbacks that handle
the following event types:
- MI_Exception
- MI_Xact_State_Change
- MI_Client_Library_Error
Return values
- MI_OK
- The function was successful.
- MI_ERROR
- The function was not successful.