Metode IWiaItem2::GetExtension
Mendapatkan antarmuka ekstensi yang mungkin disertakan dengan driver perangkat Windows Image Acquisition (WIA) 2.0.
Sintaks
HRESULT GetExtension(
[in] LONG lFlags,
[in] BSTR bstrName,
[in] REFIID riidExtensionInterface,
[out] VOID **ppOut
);
Parameter
-
lFlags [in]
-
Jenis: LONG
Saat ini tidak digunakan. Harus diatur ke nol.
-
bstrName [in]
-
Jenis: BSTR
Menentukan nama ekstensi yang memerlukan penunjuk oleh aplikasi panggilan.
-
SegmentationFilter
-
Ekstensi filter segmentasi. Saat ini ini adalah satu-satunya nilai yang valid untuk parameter ini.
riidExtensionInterface [in]
Jenis: REFIID
Menentukan pengidentifikasi antarmuka ekstensi.
ppOut [out]
Jenis: VOID**
Menerima alamat pointer ke antarmuka ekstensi.
Menampilkan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Aplikasi memanggil metode ini untuk membuat objek ekstensi yang mengimplementasikan salah satu antarmuka ekstensi driver WIA 2.0. IWiaItem2::GetExtension menyimpan alamat antarmuka ekstensi objek ekstensi dalam parameter riidExtensionInterface . Aplikasi kemudian menggunakan penunjuk antarmuka untuk memanggil metodenya.
Aplikasi harus memanggil metode IUnknown::Release pada pointer antarmuka yang mereka terima melalui parameter riidExtensionInterface .
Contoh
CreateSegmentationFilter membuat instans filter segmentasi driver (IWiaSegmentationFilter) dengan memanggil IWiaItem2::GetExtension pada antarmuka IWiaItem2 yang diteruskan.
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;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2008 [hanya aplikasi desktop] |
Header |
|
IDL |
|