次の方法で共有


デバイスの作成

アプリケーションは、特定のデバイスのデバイス 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;
    }

この例では、 pWiaDevMgrIWiaDevMgr または IWiaDevMgr2 インターフェイスへのポインターであり、 ppWiaDevice は、 IWiaDevMgr::CreateDevice (または IWiaDevMgr2::CreateDevice) の呼び出し後に、新しく作成されたデバイスを表すツリーのルート項目へのポインターのアドレスを含む変数です。