IWiaItem2::GetExtension-Methode
Ruft die Erweiterungsschnittstellen ab, die mit einem WIA 2.0-Gerätetreiber (Windows Image Acquisition) verbunden sein können.
Syntax
HRESULT GetExtension(
[in] LONG lFlags,
[in] BSTR bstrName,
[in] REFIID riidExtensionInterface,
[out] VOID **ppOut
);
Parameter
-
lFlags [ In]
-
Typ: LONG
Derzeit nicht verwendet. Sollte auf Null festgelegt werden.
-
bstrName [ In]
-
Typ: BSTR
Gibt den Namen der Erweiterung an, auf die die aufrufende Anwendung einen Zeiger erfordert.
-
SegmentationFilter
-
Die Segmentierungsfiltererweiterung. Dies ist derzeit der einzige gültige Wert für diesen Parameter.
riidExtensionInterface [ In]
Typ: REFIID
Gibt den Bezeichner der Erweiterungsschnittstelle an.
ppOut [ out]
Typ: * * VOID
Empfängt die Adresse eines Zeigers auf die Erweiterungsschnittstelle.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S _ OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Hinweise
Eine Anwendung ruft diese Methode auf, um ein Erweiterungsobjekt zu erstellen, das eine der WIA 2.0-Treibererweiterungsschnittstellen implementiert. IWiaItem2::GetExtension speichert die Adresse der Erweiterungsschnittstelle des Erweiterungsobjekts im riidExtensionInterface-Parameter. Die Anwendung verwendet dann den Schnittstellenzeiger zum Aufrufen ihrer Methoden.
Anwendungen müssen die IUnknown::Release-Methode für die Schnittstellenzeigen aufrufen, die sie über den riidExtensionInterface-Parameter erhalten.
Beispiele
CreateSegmentationFilter erstellt eine Instanz des Segmentierungsfilters des Treibers (IWiaSegmentationFilter), indem IWiaItem2::GetExtension auf der übergebenen IWiaItem2-Schnittstelle aufgerufen wird.
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;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Nur [ Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2008-Desktop-Apps] |
| Header |
|
| IDL |
|