QueryCapability Example for C++ 5.0 and later

ILEADRasterTwain_U * pRasterTwain;

HRESULT hr = ::CoCreateInstance(CLSID_LEADRasterTwain_U, NULL, CLSCTX_ALL, IID_ILEADRasterTwain_U, (void **)&pRasterTwain);
if (FAILED(hr) || !pRasterTwain)
{
	::MessageBox (NULL, _TEXT("Failed to create a Raster Twain Object"), _TEXT("Error"), MB_OK);
	return;
}

pRasterTwain->InitSession((long)GetSafeHwnd()); 
pRasterTwain->SelectSource();

short iRet; 
ICapability_U * pICapability; 
CoCreateInstance (CLSID_LEADRasterTwainCapability_U, NULL, CLSCTX_ALL, IID_ICapability_U, (void **)&pICapability); 
pICapability->put_ConType (L_TWON_DONTCARE16); 
pICapability->put_Capability(L_ICAP_UNITS); 

iRet = pRasterTwain->QueryCapability (pICapability); 
if (iRet) 
{
	return iRet; 
}