IWiaItem2::CheckExtension 方法

檢查電腦上是否有指定的擴充功能可用,而且可由 IWiaItem2::GetExtension 方法使用。

語法

HRESULT CheckExtension(
  [in]  LONG   lFlags,
  [in]  BSTR   bstrName,
  [in]  REFIID riidExtensionInterface,
  [out] BOOL   *pbExtensionExists
);

參數

lFlags [in]

類型: LONG

目前未使用。 應該設定為零。

bstrName [in]

類型: BSTR

指定擴充功能的名稱。

riidExtensionInterface [in]

類型: REFIID

目前未使用。

pbExtensionExists [out]

類型: BOOL*

接收 BOOL的指標。

指定的延伸模組無法使用。

指定的延伸模組可供使用。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

使用這個方法,應用程式可以在呼叫 IWiaItem2::GetExtension 方法之前檢查延伸模組是否可用。 此外,應用程式可以檢查哪些擴充功能可供使用,而不需共同建立每個擴充功能,然後決定要使用哪一個擴充功能。

範例

CheckImgFilter 會檢查驅動程式是否有影像處理篩選器。 在呼叫預覽元件之前,應用程式應確定驅動程式具有影像處理篩選器。

HRESULT
CheckImgFilter(
   IN  IWiaItem2 *pWiaItem2,
   OUT BOOL      *pbHasImgFilter)
{
   HRESULT     hr = S_OK;

   if (!pWiaItem2 || !pbHasImgFilter)
   {
      hr = E_INVALIDARG;
   }

   if (SUCCEEDED(hr))
   {
     *pbHasImgFilter = FALSE;
   }

   if (SUCCEEDED(hr))
   {
      BSTR    bstrFilterString = SysAllocString(WIA_IMAGEPROC_FILTER_STR);

      if (bstrFilterString)
      {
         hr = pWiaItem2->CheckExtension(0,
                                        bstrFilterString,
                                        IID_IWiaSegmentationFilter,
                                        pbHasImgFilter);

         SysFreeString(bstrFilterString);
         bstrFilterString = NULL;
      }
      else
      {
         hr = E_OUTOFMEMORY;
      }
   }

   return hr;

}

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Wia.h
Idl
Wia.idl