Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
REDIRECTCLOSE Callback Function
#include "l_bitmap.h"
L_INT pEXT_CALLBACK YourClose(nFd, pUserData)
L_HFILE nFd; |
/* file handle */ |
L_VOID *pUserData; |
/* pointer to additional parameters */ |
Replaces the normal LEADTOOLS function for closing a file.
Parameter |
Description |
nFD |
Identifies the file to be closed. The file handle is returned by the REDIRECTOPEN callback function. |
pUserData |
A void pointer that you can use to access a variable or structure containing data that your callback function needs. This gives you a way to receive data indirectly from the function that uses this callback function. (This is the same pointer that you pass in the pUserData parameter of the calling function.) |
|
Keep in mind that this is a void pointer, which must be cast to the appropriate data type within your callback function. |
Returns
0 |
The file was closed. |
-1 |
The function failed. |
Comments
For information about using this type of callback, refer to L_RedirectIO.
Required DLLs and Libraries
LTKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
Example
To see how the following function is defined and called, refer to L_RedirectIO. This procedure is a replacement to the built in Close procedure. This may be called many times, especially by L_FileInfo, so we need to reset the internal data structure to the defaults.
/************************** Global Declarations **********************************/ typedef struct tagUSERDATA { L_INT32 dwSize; /* Size of the buffer. */ L_INT32 dwUsed; /* Number of bytes used. */ L_CHAR *pData; /* Pointer to the buffer. */ L_CHAR *pCurData; /* Current pointer location. */ } USERDATA, * LPUSERDATA; /* Pointer to DATA structure */ static USERDATA UserData; /******************************************************************************/ L_INT WindowsClose (L_INT FD) { UNREFERENCED_PARAMETER (FD); UserData.pCurData = UserData.pData; UserData.dwUsed = 0; return (TRUE); }