다음을 통해 공유


IWiaItem2::CheckExtension 메서드

지정된 확장을 컴퓨터에서 사용할 수 있고 IWiaItem2::GetExtension 메서드에서 사용할 수 있는지 확인합니다.

구문

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

매개 변수

lFlags [in]

형식: LONG

현재 사용되지 않습니다. 0으로 설정해야 합니다.

bstrName [in]

형식: BSTR

확장의 이름을 지정합니다.

riidExtensionInterface [in]

형식: REFIID

현재 사용되지 않습니다.

pbExtensionExists [out]

형식: BOOL*

BOOL에 대한 포인터를 받습니다.

False

지정된 확장을 사용할 수 없습니다.

사실

지정된 확장을 사용할 수 있습니다.

반환 값

형식: 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