Share via


建立 WIA 裝置管理員

如果您使用 Windows Image Acquisition (WIA) 服務的第一個步驟是取得 IWiaDevMgr 介面指標 (,如果您針對 Windows XP 或較舊版本) 或 IWiaDevMgr2 介面指標進行程式設計, (則為 Windows Vista 或更新版本) 。 若要這樣做,請使用適當的參數呼叫 CoCreateInstance 。 範例應用程式 WiaSSamp 會在下列程式碼所實作的全域函式內建立裝置管理員:

    HRESULT CreateWiaDeviceManager( IWiaDevMgr **ppWiaDevMgr ) //XP or earlier
    HRESULT CreateWiaDeviceManager( IWiaDevMgr2 **ppWiaDevMgr ) //Vista or later
    {
        //
        // Validate arguments
        //
        if (NULL == ppWiaDevMgr)
        {
            return E_INVALIDARG;
        }

        //
        // Initialize out variables
        //
        *ppWiaDevMgr = NULL;

        //
        // Create an instance of the device manager
        //
        
        //XP or earlier:
        HRESULT hr = CoCreateInstance( CLSID_WiaDevMgr, NULL, CLSCTX_LOCAL_SERVER, IID_IWiaDevMgr, (void**)ppWiaDevMgr );

        //Vista or later:
        HRESULT hr = CoCreateInstance( CLSID_WiaDevMgr2, NULL, CLSCTX_LOCAL_SERVER, IID_IWiaDevMgr2, (void**)ppWiaDevMgr ); 

        //
        // Return the result of creating the device manager
        //
        return hr;
    }

在此範例中,CLSID_WiaDevMgr和IID_IWiaDevMgr是 WIA 常數,分別代表 IWiaDevMgr的類別識別碼和介面識別碼。 CLSID_WiaDevMgr2和IID_IWiaDevMgr2是 WIA 常數,分別代表 IWiaDevMgr2的類別識別碼和介面識別碼。

CoCreateInstance呼叫之dwClsCoNtext引數的值必須CLSCTX_LOCAL_SERVER。 不支援其他伺服器類型,而且元件物件模型 (COM) 拒絕此參數的任何其他值。