Criando um dispositivo
Depois que um aplicativo tiver a ID do dispositivo de um determinado dispositivo, ele poderá chamar o método IWiaDevMgr::CreateDevice ou IWiaDevMgr2::CreateDevice, que cria uma árvore hierárquica de objetos IWiaItem ou IWiaItem2 que representam um dispositivo de imagem e as camas de verificação de imagem e pastas contidas nesse dispositivo.
O exemplo a seguir do aplicativo de exemplo WiaSSamp implementa uma função que usa uma ID do dispositivo como parâmetro. Para obter informações sobre como obter uma ID de dispositivo para um dispositivo específico, consulte Ler propriedades do dispositivo.
//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;
}
Neste exemplo, pWiaDevMgr é um ponteiro para a interface IWiaDevMgr ou IWiaDevMgr2 e ppWiaDevice é uma variável que, após a chamada para IWiaDevMgr::CreateDevice (ou para IWiaDevMgr2::CreateDevice), contém o endereço de um ponteiro para o item raiz da árvore que representa o dispositivo recém-criado.