Retrieves a SYSTEMTIME structure for any WIA property of type VT_UI2 | VT_VECTOR to return the time of the item.
#include "ltwrappr.h"
virtual L_INT LWia::GetPropertySystemTime(pItem, pszID, uID, pValue)
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 that is having the time obtained.
Retrieve this parameter by either calling the LWia::GetRootItem function to get a pointer to the device's root item, or by enumerating the child items of the device through a call to LWia::EnumChildItems.
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_TYMED | WIA_IPA_TYMED_STR or "Media Type" |
WIA_IPA_DEPTH | WIA_IPA_DEPTH_STR or "Bits Per Pixel" |
If pszID is NULL, then the WIA toolkit will use the ID passed through the uID parameter; otherwise, the pszID parameter will be used regardless of whether you passed a valid property ID through the uID parameter.
The property ID for the WIA property.
The uID parameter is required only if the pszID parameter is NULL. If the pszID parameter is not NULL you can pass 0 for uID.
Pointer to a variable of type SYSTEMTIME to be updated with the passed item's time.
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.
Call this function to retrieve a SYSTEMTIME structure for any WIA property of type VT_UI2 | VT_VECTOR (for example, WIA_DPA_DEVICE_TIME, WIA_IPA_ITEM_TIME), to return the time of the item.
class CMyWIA : public LWia
{
public:
L_INT WiaEnumItemsCB(L_INT nItemsCount, L_VOID * pItem);
};
L_INT CMyWIA::WiaEnumItemsCB(L_INT nItemsCount, L_VOID * pItem)
{
UNREFERENCED_PARAMETER(nItemsCount);
L_INT nRet;
SYSTEMTIME SysTime;
if(pItem != NULL)
{
/* Get the item's system time */
nRet = GetPropertySystemTime(pItem, NULL, WIA_IPA_ITEM_TIME, &SysTime);
if(nRet != WIA_SUCCESS)
return nRet;
/* You can change the item's system time to your machine system time */
GetSystemTime(&SysTime); // gets current time
nRet = SetPropertySystemTime(pItem, NULL, WIA_IPA_ITEM_TIME, &SysTime);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = FreeItem(pItem);
if(nRet != WIA_SUCCESS)
return nRet;
}
return WIA_SUCCESS;
}
L_INT LWIA__GetPropertySystemTimeExample()
{
L_INT nRet;
IWiaItem * pRootItem = NULL;
CMyWIA MyClass;
nRet = MyClass.SelectDeviceDlg(WiaDeviceTypeDefault, 0);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = MyClass.GetRootItem(NULL, (L_VOID**)&pRootItem);
if(nRet != WIA_SUCCESS)
return nRet;
nRet = MyClass.EnumChildItems(pRootItem);
if(nRet != WIA_SUCCESS)
return nRet;
return SUCCESS;
}