Enumerates all available system WIA devices connected to the user machine.
#include "ltwrappr.h"
virtual L_INT LWia::EnumDevices()
| Value | Meaning |
|---|---|
| SUCCESS | The function was successful. |
| < 1 | An error occurred. Refer to Return Codes. |
This feature is available in LEADTOOLS version 16 or higher.
This function enumerates all available system WIA devices connected to the user machine. It uses a callback that sends the user information about each WIA device found, like device ID, device name, and device description.
LEADTOOLS WIA supports both 32-bit and 64-bit image acquisition for both WIA 1.0 (XP and earlier) and WIA 2.0 (VISTA and later).
#include <Sti.h>class CMyWIA : public LWia{public:L_INT EnumDevicesCallBack(pLWIADEVICEID pDeviceID);};L_INT CMyWIA::EnumDevicesCallBack(pLWIADEVICEID pDeviceID){L_INT nRet;L_UINT uDevType;L_TCHAR szSelectedDeviceID[MAX_PATH] = TEXT("");L_TCHAR szMsg[MAX_PATH] = TEXT("");/* Select the received device */if(pDeviceID){if(pDeviceID->pszDeviceId){//nRet = SelectDevice(pDeviceID->pszDeviceId);}}/* Get the selected device type */nRet = GetSelectedDeviceType(&uDevType);if(nRet != WIA_SUCCESS)return nRet;if(uDevType == WiaDeviceTypeScanner){/* Make sure the device was selected successfully */lstrcpy(szSelectedDeviceID, GetSelectedDevice());wsprintf(szMsg, TEXT("Scanner device with the device ID <%s> selected."), szSelectedDeviceID);MessageBox(NULL, szMsg, TEXT("Information"), MB_OK|MB_ICONINFORMATION);}return WIA_SUCCESS;}L_INT LWIA__EnumDevicesExample(){L_INT nRet;CMyWIA MyClass;nRet = MyClass.EnumDevices();if (nRet != WIA_SUCCESS)return FALSE;return SUCCESS;}