다음을 통해 공유


IWiaItem2::GetExtension 메서드

WIA(Windows Image Acquisition) 2.0 디바이스 드라이버와 함께 제공되는 확장 인터페이스를 가져옵니다.

구문

HRESULT GetExtension(
  [in]  LONG   lFlags,
  [in]  BSTR   bstrName,
  [in]  REFIID riidExtensionInterface,
  [out] VOID   **ppOut
);

매개 변수

lFlags [in]

형식: LONG

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

bstrName [in]

형식: BSTR

호출 애플리케이션에 포인터가 필요한 확장의 이름을 지정합니다.

SegmentationFilter

구분 필터 확장입니다. 현재 이 매개 변수에 대해 유효한 유일한 값입니다.

riidExtensionInterface [in]

형식: REFIID

확장 인터페이스의 식별자를 지정합니다.

ppOut [out]

형식: VOID**

확장 인터페이스에 대한 포인터의 주소를 받습니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

애플리케이션은 WIA 2.0 드라이버 확장 인터페이스 중 하나를 구현하는 확장 개체를 만들기 위해 이 메서드를 호출합니다. IWiaItem2::GetExtension 은 확장 개체의 확장 인터페이스 주소를 riidExtensionInterface 매개 변수에 저장합니다. 그런 다음 애플리케이션은 인터페이스 포인터를 사용하여 메서드를 호출합니다.

애플리케이션은 riidExtensionInterface 매개 변수를 통해 수신하는 인터페이스 포인터에서 IUnknown::Release 메서드를 호출해야 합니다.

예제

CreateSegmentationFilter는 전달된 IWiaItem2 인터페이스에서 IWiaItem2::GetExtension을 호출하여 드라이버의 구분 필터(IWiaSegmentationFilter)의 instance 만듭니다.

HRESULT
CreateSegmentationFilter(
   IWiaItem2               *pWiaItem2,
   IWiaSegmentationFilter  **ppSegmentationFilter)
{
   HRESULT                 hr         = S_OK;
   IWiaSegmentationFilter *pSegFilter = NULL;
    
   if (!pWiaItem2 || !ppSegmentationFilter)
   {
      hr = E_INVALIDARG;
   }

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

      if (bstrFilterString)
      {
         hr = pWiaItem2->GetExtension(0,
                                      bstrFilterString,
                                      IID_IWiaSegmentationFilter,
                                      (void**)&pSegFilter);
         SysFreeString(bstrFilterString);
         bstrFilterString = NULL;
      }
      else
      {
         hr = E_OUTOFMEMORY;
      }
   }

   if (SUCCEEDED(hr))
   {
     *ppSegmentationFilter = pSegFilter;
      pSegFilter = NULL;
   }
   return hr;
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Wia.h
IDL
Wia.idl