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 [僅限傳統型應用程式] |
標頭 |
|
Idl |
|