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 |
|
IDL |
|
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示