Méthode IWiaItem2::GetExtension
Obtient les interfaces d’extension qui peuvent être fournies avec un pilote de périphérique d’acquisition d’images Windows (WIA) 2.0.
Syntaxe
HRESULT GetExtension(
[in] LONG lFlags,
[in] BSTR bstrName,
[in] REFIID riidExtensionInterface,
[out] VOID **ppOut
);
Paramètres
-
lFlags [in]
-
Type : LONG
Actuellement inutilisé. Doit être défini sur zéro (0).
-
bstrName [in]
-
Type : BSTR
Spécifie le nom de l’extension vers laquelle l’application appelante nécessite un pointeur.
-
SegmentationFilter
-
Extension de filtre de segmentation. Il s’agit actuellement de la seule valeur valide pour ce paramètre.
riidExtensionInterface [in]
Type : REFIID
Spécifie l’identificateur de l’interface d’extension.
ppOut [out]
Type : VOID**
Reçoit l’adresse d’un pointeur vers l’interface d’extension.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, il retourne un code d’erreur HRESULT .
Notes
Une application appelle cette méthode pour créer un objet d’extension implémentant l’une des interfaces d’extension de pilote WIA 2.0. IWiaItem2::GetExtension stocke l’adresse de l’interface d’extension de l’objet d’extension dans le paramètre riidExtensionInterface . L’application utilise ensuite le pointeur d’interface pour appeler ses méthodes.
Les applications doivent appeler la méthode IUnknown::Release sur les pointeurs d’interface qu’elles reçoivent via le paramètre riidExtensionInterface .
Exemples
CreateSegmentationFilter crée une instance du filtre de segmentation du pilote (IWiaSegmentationFilter) en appelant IWiaItem2::GetExtension sur l’interface IWiaItem2 transmise.
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;
}
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau uniquement] |
En-tête |
|
IDL |
|
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour