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