#include "ltwia.h"
L_LTWIA_API L_INT EXT_FUNCTION L_WiaGetPropertyGUID(hSession, pItem, pszID, uID, pGuidValue)
HWIASESSION hSession; |
handle to an existing WIA session |
L_VOID* pItem; |
pointer to IWiaItem or IWiaItem2 interface |
L_TCHAR* pszID; |
pointer to string array that represents the equivalent property ID string |
L_UINT32 uID; |
property ID |
GUID * pGuidValue; |
pointer to a GUID structure to be updated |
Retrieves the GUID structure for any WIA property of type VT_CLSID (like WIA_IPA_FORMAT).
Parameter | Description | |
hSession | Handle to an existing WIA session. This handle is obtained by calling the L_WiaInitSession function. | |
pItem | Valid pointer to a type IWiaItem or IWiaItem2 object (IWiaItem if using WIA Version 1.0; IWiaItem2 if using WIA Version 2.0), which represents the item having the property. | |
You can retrieve this parameter by either calling the L_WiaGetRootItem function to get a pointer to the device's root item or by enumerating the child items of the device through a call to L_WiaEnumChildItems. | ||
pszID | This string pointer should contain the equivalent property ID string for the WIA property ID (see example below): | |
Property ID | Property ID Equivalent String | |
WIA_IPA_TYM | WIA_IPA_TYMED_STR or "Media Type" | |
WIA_IPA_DEPTH | WIA_IPA_DEPTH_STR or "Bits Per Pixel" | |
If this parameter is NULL then the WIA toolkit will use the ID passed through the uID parameter; otherwise the pszID parameter will be used whether or not you passed valid property ID through the uID parameter. | ||
uID | The property ID for which you are obtaining the GUID structure. | |
This parameter is required only if the pszID parameter is NULL, otherwise you can pass 0 for this parameter. | ||
pGuidValue | Pointer to a variable of type GUID to be updated with the retrieved property GUID value. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
This feature is available in version 16 or higher.
Call this function to retrieve the GUID structure for any WIA property of type VT_CLSID (for instance, WIA_IPA_FORMAT).
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
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).
Functions: |
L_WiaGetPropertyLong, L_WiaGetPropertyString, L_WiaGetPropertyBuffer, L_WiaGetPropertySystemTime, L_WiaGetRootItem, L_WiaEnumChildItems, L_WiaInitSession, L_WiaEndSession. |
Topics: |
|
|
static L_INT CALLBACK WiaEnumItemsCB(HWIASESSION hSession,
L_INT nItemsCount,
L_VOID * pItem,
L_VOID * pUserData)
{
UNREFERENCED_PARAMETER(nItemsCount);
UNREFERENCED_PARAMETER(pUserData);
L_INT nRet;
GUID guidFormat;
if(pItem != NULL)
{
/* Get the current item's transfer format */
nRet = L_WiaGetPropertyGUID(hSession, pItem, NULL, WIA_IPA_FORMAT, &guidFormat);
if(nRet != WIA_SUCCESS)
return nRet;
/* You can also change the transfer format for that item. */
guidFormat = WiaImgFmt_MEMORYBMP;
nRet = L_WiaSetPropertyGUID(hSession, pItem, NULL, WIA_IPA_FORMAT, &guidFormat);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = L_WiaFreeItem(hSession, pItem);
if(nRet != WIA_SUCCESS)
return nRet;
}
return WIA_SUCCESS;
}
L_INT WiaGetPropertyGUIDExample(HWIASESSION hSession, HWND hWnd)
{
L_INT nRet;
IWiaItem * pRootItem = NULL;
nRet = L_WiaSelectDeviceDlg(hSession, hWnd, WiaDeviceTypeDefault, 0);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = L_WiaGetRootItem(hSession, NULL, (L_VOID**)&pRootItem);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = L_WiaEnumChildItems(hSession, pRootItem, WiaEnumItemsCB, NULL);
if(nRet != WIA_SUCCESS)
return nRet;
return SUCCESS;
}