IWiaItem2::GetExtension メソッド

Windows イメージ取得 (WIA) 2.0 デバイス ドライバーに付属する拡張インターフェイスを取得します。

構文

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

パラメーター

lFlags [in]

型: LONG

現在使用されていません。 ゼロに設定してください。

bstrName [in]

種類: BSTR

呼び出し元のアプリケーションにポインターが必要な拡張機能の名前を指定します。

セグメント化フィルター

セグメント化フィルター拡張機能。 これは現在、このパラメーターの唯一の有効な値です。

riidExtensionInterface [in]

型: REFIID

拡張インターフェイスの識別子を指定します。

ppOut [out]

型: VOID**

拡張インターフェイスへのポインターのアドレスを受け取ります。

戻り値

型: HRESULT

このメソッドが成功すると、 S_OKが返されます。 それ以外の場合は、 HRESULT エラー コードが返されます。

注釈

アプリケーションはこのメソッドを呼び出して、WIA 2.0 ドライバー拡張インターフェイスのいずれかを実装する拡張オブジェクトを作成します。 IWiaItem2::GetExtension は、拡張オブジェクトの拡張インターフェイスのアドレスを riidExtensionInterface パラメーターに 格納します。 その後、アプリケーションは インターフェイス ポインターを使用してそのメソッドを呼び出します。

アプリケーションは、riidExtensionInterface パラメーターを介して受け取るインターフェイス ポインターで IUnknown::Release メソッドを呼び出す必要があります。

CreateSegmentationFilter は、渡された IWiaItem2 インターフェイスで IWiaItem2::GetExtension を呼び出すことによって、ドライバーのセグメント化フィルター (IWiaSegmentationFilter) のインスタンスを作成します。

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 [デスクトップ アプリのみ]
Header
Wia.h
IDL
Wia.idl