IWiaItem2 :: CheckExtension, méthode

Vérifie si une extension spécifiée est disponible sur l’ordinateur et si elle peut être utilisée par la méthode IWiaItem2 :: GetExtension .

Syntaxe

HRESULT CheckExtension(
  [in]  LONG   lFlags,
  [in]  BSTR   bstrName,
  [in]  REFIID riidExtensionInterface,
  [out] BOOL   *pbExtensionExists
);

Paramètres

lFlags [ dans]

Type : long

Actuellement inutilisé. Doit être défini sur zéro (0).

bstrName [ dans]

Type : BSTR

Spécifie le nom de l'extension.

riidExtensionInterface [ dans]

Type : REFIID

Actuellement inutilisé.

pbExtensionExists [ à]

Type : bool *

Reçoit un pointeur vers un booléen.

FAUSSES

L’extension spécifiée n’est pas disponible.

:

L’extension spécifiée est disponible.

Valeur retournée

Type : HRESULT

Si cette méthode est réussie, elle retourne la valeur _ OK. Sinon, elle retourne un code d’erreur HRESULT .

Remarques

À l’aide de cette méthode, les applications peuvent vérifier si une extension est disponible avant d’appeler la méthode IWiaItem2 :: GetExtension . En outre, l’application peut vérifier les extensions qui sont disponibles sans co-créer chacune d’elles, puis choisir celle qui doit être utilisée.

Exemples

CheckImgFilter vérifie si le pilote a un filtre de traitement d’image. Avant d’appeler la version préliminaire du composant, une application doit s’assurer que le pilote possède un filtre de traitement d’image.

HRESULT
CheckImgFilter(
   IN  IWiaItem2 *pWiaItem2,
   OUT BOOL      *pbHasImgFilter)
{
   HRESULT     hr = S_OK;

   if (!pWiaItem2 || !pbHasImgFilter)
   {
      hr = E_INVALIDARG;
   }

   if (SUCCEEDED(hr))
   {
     *pbHasImgFilter = FALSE;
   }

   if (SUCCEEDED(hr))
   {
      BSTR    bstrFilterString = SysAllocString(WIA_IMAGEPROC_FILTER_STR);

      if (bstrFilterString)
      {
         hr = pWiaItem2->CheckExtension(0,
                                        bstrFilterString,
                                        IID_IWiaSegmentationFilter,
                                        pbHasImgFilter);

         SysFreeString(bstrFilterString);
         bstrFilterString = NULL;
      }
      else
      {
         hr = E_OUTOFMEMORY;
      }
   }

   return hr;

}

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows [Applications de bureau Vista uniquement]
Serveur minimal pris en charge
Windows Serveur 2008 [ applications de bureau uniquement]
En-tête
WIA. h
MIDL
WIA. idl