C# and NULL pointers
Many DTWAIN functions that process strings allows the string parameter to be NULL. For example, the DTWAIN_GetErrorString function has the option to set the string parameter to NULL if the caller only desires to have the length of the error string returned.
For C# applications, you must use the following for sending NULL pointers to DTWAIN:
For 32-bit applications: System.IntPtr.Zero
For 64-bit applications: System.LongPtr.Zero
For example, to call DTWAIN_GetErrorString with a NULL pointer (assume this is a 32-bit application).
namespace WindowsApplication { using Dynarithmic;
static void Main() { //... // get the length of the error message int eLength = TwainAPI.DTWAIN_GetErrorString( TwainAPI.DTWAIN_ERR_BAD_SOURCE, System.IntPtr.Zero, 0 );
// size our string buffer appropriately and call again to get the string StringBuilder sText = new StringBuilder( eLength ); TwainAPI.DTWAIN_GetErrorString( TwainAPI.DTWAIN_ERR_BAD_SOURCE, sText, eLength ); } }
|