DTWAIN_AcquireNativeEx

Top  Previous  Next

The DTWAIN_AcquireNativeEx function starts the acquisition of images from a TWAIN Source using the Native Transfer mode.

 

DTWAIN_BOOL  DTWAIN_AcquireNativeEx (

DTWAIN SOURCE

Source,

LONG

PixelType,

LONG

NumPages,

DTWAIN_BOOL

bShowUI,

DTWAIN_BOOL

bCloseSource,

DTWAIN_ARRAY

Acquisitions,

LPLONG

pStatus );

 

Parameters

Source

Specifies a selected TWAIN Source.

 

PixelType

Specifies the pixel type of the image

 

NumPages

Specifies the number of pages to acquire.

 

bShowUI

Specifies whether the Source displays the default User Interface.

 

bCloseSource

Specifies whether the Source should be automatically closed when the User Interface is closed.

 

Acquisitions

DTWAIN_ARRAY that will hold all the acquired image data.

 

pStatus

Points to a variable that will be filled in with an error status value or NULL if no error status is desired.

 

Return Values

If the function succeeds TRUE is returned.  If an error has occurred or no images have been acquired, FALSE is returned.

 

Comments

The DTWAIN_AcquireNativeEx is the same as DTWAIN_AcquireNative, except that the image data is copied to the application supplied DTWAIN_ARRAY Acquisitions instead of being returned as a DTWAIN_ARRAY.

 

The advantage of this function is that Acquisitions will have all the image data that has been acquired for the entire session that the Source is acquiring images.  Your application does not have to wait for DTWAIN_AcquireNativeEx to return to obtain the image information.  The DTWAIN_ARRAY Acquisitions must have been previously created with DTWAIN_CreateAcquisitionArray, and it must be destroyed when no longer used by DTWAIN_DestroyAcquisitionArray.

 

Note that the image data is never destroyed by DTWAIN.  The application is required to handle and destroy the image data.

 

Once DTWAIN_AcquireNativeEx returns successfully, the image data can be retrieved using the Image retrieval functions such as DTWAIN_GetAcquiredImage, DTWAIN_GetAcquiredImageArray, etc.


Note that if DTWAIN_AcquireNativeEx returns FALSE, this could indicate that the user closed the device's user interface without acquiring any images, thus is not necessarily an error.  In this case, your application should check pStatus for a value of DTWAIN_TN_ACQUIRECANCELED to confirm that the user interface was closed without acquiring any images. 


To get information on the other parameters to DTWAIN_AcquireNativeEx, please see DTWAIN_AcquireNative.

 

Example:

 

void Test( )

{

   DTWAIN_ARRAY ImageArray;

   LONG nAcq;

   HANDLE hDib;

   LONG nNumImages;

   DTWAIN_SOURCE Source;

   //...

   ImageArray = DTWAIN_CreateAcquisitionArray( );

   DTWAIN_AcquireNativeEx( Source, DTWAIN_PT_DEFAULT, 1, TRUE, TRUE, TRUE, ImageArray, NULL);

   //..

   // Get the number of acquisitions

   nAcq = DTWAIN_ArrayGetCount( ImageArray );

 

   // Get the array of DIB image data acquired in the first acquisition sesson

   nNumImages = DTWAIN_GetAcquiredImageArray( ImageArray, 0 );

 

   // Get the DIB data of page 1, acquisition 1

   hDib = DTWAIN_GetAcquiredImage( ImageArray, 0, 0 );

 

  // Destroy the array and any image information

  DTWAIN_DestroyAcquisitionArray( ImageArray, TRUE );

}

 

 

TWAIN State Transitions

State 4  (if Source is not already opened)

State 5 6, 7,

State 4 (if Source is closed after UI is closed)

 

Prerequisite Function Call(s)

DTWAIN_SysInitialize

DTWAIN_SelectSource or any DTWAIN Source selection function

 

See Also Acquiring Images