Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
L_WiaEnumDevices
#include "ltwia.h"
L_LTWIA_API L_INT EXT_FUNCTION L_WiaEnumDevices(hSession, pfnCallBack, pUserData)
HWIASESSION hSession; |
/* handle to an existing WIA session */ |
LWIAENUMDEVICESCALLBACK pfnCallBack; |
/* pointer to an optional callback function */ |
L_VOID * pUserData; |
/* pointer to additional parameters */ |
Enumerates all available system WIA devices connected to the user machine.
Parameter |
Description |
hSession |
Handle to an existing WIA session. This handle is obtained by calling the L_WiaInitSession function. |
pfnCallBack |
Pointer to an optional callback the user can use to retrieve information about the found WIA device such as device ID, device name and device description. |
pUserData |
Void pointer that you can use to pass one or more additional parameters that the callback function needs. |
|
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. |
|
If the additional parameters are not needed, you can pass NULL in this parameter. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
This feature is available in version 16 or higher.
This function will enumerate 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.
Required DLLs and Libraries
LTWIA For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
Earlier and later operating systems than Windows XP for WIA Version 1.
Windows VISTA or later for WIA Version 2.
See Also
Functions: |
L_WiaAcquire, L_WiaAcquireToFile, L_WiaAcquireSimple, L_WiaInitSession, L_WiaEndSession, LWIAENUMDEVICESCALLBACK. |
Topics: |
|
|
|
|
Example
static L_INT CALLBACK WiaEnumDevicesCB(HWIASESSION hSession, pLWIADEVICEID pDeviceID, L_VOID * pUserData) { UNREFERENCED_PARAMETER(pUserData); 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 = L_WiaSelectDevice(hSession, pDeviceID->pszDeviceId); } } /* Get the selected device type */ nRet = L_WiaGetSelectedDeviceType(hSession, &uDevType); if(nRet != WIA_SUCCESS) return nRet; if(uDevType == WiaDeviceTypeScanner) { /* Make sure the device was selected successfully */ lstrcpy(szSelectedDeviceID, L_WiaGetSelectedDevice(hSession)); 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_LTWIATEX_API L_INT WiaEnumDevicesExample(HWIASESSION hSession) { L_INT nRet; nRet = L_WiaEnumDevices(hSession, WiaEnumDevicesCB, NULL); if (nRet != WIA_SUCCESS) return FALSE; return SUCCESS; }