Partager via


IWiaItem2::CheckExtension, méthode

Vérifie si une extension spécifiée est disponible sur l’ordinateur et 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 [in]

Type : LONG

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

bstrName [in]

Type : BSTR

Spécifie le nom de l'extension.

riidExtensionInterface [in]

Type : REFIID

Actuellement inutilisé.

pbExtensionExists [out]

Type : BOOL*

Reçoit un pointeur vers un BOOL.

FAUX

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

VRAI

L’extension spécifiée est disponible.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT .

Notes

À l’aide de cette méthode, les applications peuvent case activée si une extension est disponible avant d’appeler la méthode IWiaItem2::GetExtension. En outre, l’application peut case activée les extensions disponibles sans cocréer chacune d’elles, puis décider laquelle utiliser.

Exemples

CheckImgFilter vérifie si le pilote dispose d’un filtre de traitement d’image. Avant d’appeler le composant d’aperçu, une application doit s’assurer que le pilote dispose d’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 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