L_WiaGetPropertyGUID

Summary

Retrieves the GUID structure for any WIA property of type VT_CLSID (like WIA_IPA_FORMAT).

Syntax

#include "ltwia.h"

L_LTWIA_API L_INT EXT_FUNCTION L_WiaGetPropertyGUID(hSession, pItem, pszID, uID, pGuidValue)

Parameters

HWIASESSION hSession

Handle to an existing WIA session. This handle is obtained by calling the L_WiaInitSession function.

L_VOID* 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.

L_TCHAR* 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.

L_UINT32 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.

GUID * pGuidValue

Pointer to a variable of type GUID to be updated with the retrieved property GUID value.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

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

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).

See Also

Functions

Topics

Example

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; 
} 
Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS WIA C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.