Partager via


Méthode IWiaPreview::D etectRegions

Appelle le filtre de segmentation du pilote et transmet l’image non filtrée mise en cache par la méthode IWiaPreview::GetNewPreview au filtre.

Syntaxe

HRESULT DetectRegions(
  [in] LONG lFlags
);

Paramètres

lFlags [in]

Type : LONG

Non utilisé. Définissez sur zéro (0).

Valeur retournée

Type : HRESULT

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
L'opération a réussi.
E_NOTIMPL
Le pilote ne prend pas en charge la segmentation.
Sinon
Code d’erreur COM standard.

 

Notes

Une application doit appeler IWiaPreview::GetNewPreview avant d’appeler cette fonction.

Lorsque le composant Windows Image Acquisition (WIA) 2.0 Preview appelle IWiaPreview::D etectRegions, il appelle le filtre de segmentation du pilote et transmet l’interface IWiaItem2 qui a été précédemment passée à IWiaPreview::GetNewPreview. Il transmet également l’image mise en cache en interne au filtre. Le filtre de segmentation utilise l’image mise en cache pour créer les extensions enfants.

Si une application modifie des propriétés de l’interface IWiaItem2 après avoir appelé IWiaPreview::GetNewPreview, les propriétés d’origine doivent être restaurées avant que l’application appelle IWiaPreview::D etectRegions. Utilisez GetPropertyStream et SetPropertyStream pour restaurer les propriétés d’origine.

IWiaPreview::D etectRegions est utilisé pour déterminer les « sous-régions » de l’image mise en cache. Pour chaque sous-région détectée, un nouvel élément WIA 2.0 enfant est créé sous l’interface IWiaItem2 . Pour chaque élément enfant, le filtre de segmentation doit définir les valeurs des propriétés WIA 2.0 suivantes : WIA_IPS_XPOS, WIA_IPS_YPOS, WIA_IPS_XEXTENT et WIA_IPS_YEXTENT. Un filtre plus avancé définit d’autres propriétés WIA 2.0, telles que WIA_IPS_DESKEW_X et WIA_IPS_DESKEW_Y, si le pilote prend en charge la déformage. Les propriétés WIA_IPS_XPOS, WIA_IPS_YPOS, WIA_IPS_XEXTENT et WIA_IPS_YEXTENT représentent le rectangle englobant de la zone à analyser.

Le pilote peut ne pas prendre en charge la segmentation. Avant d’appeler IWiaPreview::D etectRegions, une application vérifie généralement si le pilote prend en charge la propriété WIA_IPS_SEGMENTATION. Si la propriété n’est pas implémentée, la segmentation n’est pas prise en charge et IWiaPreview::D etectRegions échoue et retourne E_NOTIMPL.

L’application doit propre les éléments enfants créés en appelant IWiaPreview::D etectRegions. Par exemple, si une application effectue un appel supplémentaire à IWiaPreview::D etectRegions sur le même élément, elle doit propre les éléments enfants précédents.

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
Wia.h
IDL
Wia.idl