Installs a pre-event handler for an extended stored procedure that is called before the standard event handler.
int srv_pre_handle (
SRV_SERVER * server,
SRV_PROC * srvproc,
DBINT event,
SRV_PRE_HANDLE_PROC handler,
BOOL remove );
where
If you provide a srvproc value, you must provide a NULL server value.
If a server value is provided, this function is global to the Open Data Services application and will be called (before the standard event handler) every time event occurs.
If a srvproc value is provided, this function will be called (before the standard event handler) only when event is generated by the srvproc client connection.
This function should be defined as returning an int and taking a single parameter. This parameter should be defined as SRV_SERVER * when event is one of the following:
and defined as SRV_PROC * when event is one of the following:
This function must return one of the following values:
Return value | Description |
---|---|
SRV_CONTINUE | Continue normal processing. |
SRV_DISCONNECT | Fire a disconnect event to close the client connection. |
SRV_EXIT | Fire a disconnect event to close the client connection. |
SRV_SKIP | Skip execution of the standard event handler. The post-event handler is still executed. |
SUCCEED, FAIL, or SRV_DUPLICATE_HANDLER. SRV_DUPLICATE_HANDLER is returned if you attempt to install the same pre-event handler function multiple times for the same event.
When an event occurs, Open Data Services calls the following functions in this order:
You can install pre-event handlers dynamically. The new pre-event handler is called when the next event occurs. For each event, an extended stored procedure application can have multiple global pre-event handlers, and multiple pre-event handlers per client connection, but you cannot install the same pre-event handler function multiple times for the same event. Open Data Services will automatically remove the post-event handler when necessary; your program should not attempt to do this.
This entry | For information about |
---|---|
srv_handle | Installing a standard event handler |
srv_post_handle | Installing a post-event handler |