Erstellen eines Geräts

Sobald eine Anwendung über die Geräte-ID eines bestimmten Geräts verfügt, kann sie die IWiaDevMgr::CreateDevice- oder IWiaDevMgr2::CreateDevice-Methodeaufrufen, die eine hierarchische Struktur von IWiaItem- oder IWiaItem2-Objekten erstellt, die ein Bildverarbeitungsgerät und den Bildscan-Bereich sowie die auf diesem Gerät enthaltenen Ordner darstellen.

Das folgende Beispiel aus der Beispielanwendung WiaSSamp implementiert eine Funktion, die eine Geräte-ID als Parameter akzeptiert. Informationen zum Abrufen einer Geräte-ID für ein bestimmtes Gerät finden Sie unter Lesen von Geräteeigenschaften.

    //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;
    }

In diesem Beispiel ist pWiaDevMgr ein Zeiger auf die IWiaDevMgr- oder IWiaDevMgr2-Schnittstelle, und ppWiaDevice ist eine Variable, die nach dem Aufruf von IWiaDevMgr::CreateDevice (oder IWiaDevMgr2::CreateDevice)die Adresse eines Zeigers auf das Stammelement der Struktur enthält, das das neu erstellte Gerät darstellt.