创建设备
应用程序获得给定设备的设备 ID 后,可以调用 IWiaDevMgr::CreateDevice 或 IWiaDevMgr2::CreateDevice方法,该方法创建 IWiaItem 或 IWiaItem2 对象的分层树,这些对象表示图像处理设备和图像扫描床,以及该设备中包含的文件夹。
来自示例应用程序 WiaSSamp 的以下示例实现了采用设备 ID 作为参数的函数。 有关如何获取特定设备的设备 ID 的信息,请参阅 读取设备属性。
//XP or earlier:
HRESULT CreateWiaDevice( IWiaDevMgr *pWiaDevMgr, BSTR bstrDeviceID, IWiaItem **ppWiaDevice )
//Vista or later:
HRESULT CreateWiaDevice( IWiaDevMgr2 *pWiaDevMgr, BSTR bstrDeviceID, IWiaItem2 **ppWiaDevice )
{
//
// Validate arguments
//
if (NULL == pWiaDevMgr || NULL == bstrDeviceID || NULL == ppWiaDevice)
{
return E_INVALIDARG;
}
//
// Initialize out variables
//
*ppWiaDevice = NULL;
//
// Create the WIA Device
//
HRESULT hr = pWiaDevMgr->CreateDevice( bstrDeviceID, ppWiaDevice );
//
// Return the result of creating the device
//
return hr;
}
在此示例中, pWiaDevMgr 是指向 IWiaDevMgr 或 IWiaDevMgr2 接口的指针, ppWiaDevice 是一个变量,在调用 IWiaDevMgr::CreateDevice (或 IWiaDevMgr2::CreateDevice) 后,包含指向表示新创建的设备的树根项的指针的地址。