Partager via


ABProviderInit

S’applique à : Outlook 2013 | Outlook 2016

Initialise un fournisseur de carnet d’adresses pour l’opération.

Propriété Valeur
Fichier d’en-tête :
Mapispi.h
Implémenté par :
Fournisseurs de carnets d’adresses
Appelé par :
MAPI
HRESULT ABProviderInit(
  HINSTANCE hInstance,
  LPMALLOC lpMalloc,
  LPALLOCATEBUFFER lpAllocateBuffer,
  LPALLOCATEMORE lpAllocateMore,
  LPFREEBUFFER lpFreeBuffer,
  ULONG ulFlags,
  ULONG ulMAPIVer,
  ULONG FAR * lpulProviderVer,
  LPABPROVIDER FAR * lppABProvider
);

Paramètres

hInstance

[in] La instance de la bibliothèque de liens dynamiques (DLL) du fournisseur d’adresses utilisée par MAPI lors de la liaison.

lpMalloc

[in] Pointeur vers un objet allocateur de mémoire exposant l’interface OLE IMalloc . Le fournisseur de carnets d’adresses peut avoir besoin d’utiliser cette méthode d’allocation lors de l’utilisation de certaines interfaces telles que IStream.

lpAllocateBuffer

[in] Pointeur vers la fonction MAPIAllocateBuffer , à utiliser si nécessaire par MAPI pour allouer de la mémoire.

lpAllocatePlus

[in] Pointeur vers la fonction MAPIAllocateMore , à utiliser si nécessaire par MAPI pour allouer de la mémoire supplémentaire.

lpFreeBuffer

[in] Pointeur vers la fonction MAPIFreeBuffer , à utiliser si nécessaire par MAPI pour libérer de la mémoire.

ulFlags

[in] Masque de bits des indicateurs. L’indicateur suivant peut être défini :

MAPI_NT_SERVICE

Le fournisseur est chargé dans le contexte d’un service Windows, un type spécial de processus sans accès à une interface utilisateur.

ulMAPIVer

[in] Numéro de version de l’interface spi (Service Provider Interface) que MAPI.DLL utilise. Pour obtenir le numéro de version actuel, consultez MAPISPI. Fichier d’en-tête H.

lpulProviderVer

[out] Pointeur vers le numéro de version du SPI utilisé par ce fournisseur de carnets d’adresses.

lppABProvider

[out] Pointeur vers un pointeur vers l’objet fournisseur de carnet d’adresses initialisé.

Valeur renvoyée

S_OK

L'appel a r�ussi et a renvoy� la valeur attendue ou les valeurs.

MAPI_E_VERSION

La version SPI utilisée par MAPI n’est pas compatible avec le SPI utilisé par ce fournisseur.

Remarques

MAPI appelle la fonction de point d’entrée ABProviderInit pour initialiser un fournisseur de carnet d’adresses après une ouverture de session cliente.

Remarques pour les responsables de l’implémentation

Un fournisseur de carnet d’adresses doit implémenter ABProviderInit comme fonction de point d’entrée dans la DLL du fournisseur. L’implémentation doit être basée sur le prototype de fonction ABPROVIDERINIT , également spécifié dans MAPISPI.H. MAPI définit ABPROVIDERINIT pour utiliser le type d’appel d’initialisation MAPI standard, STDMAPIINITCALLTYPE, ce qui oblige ABProviderInit à suivre la convention d’appel CDECL.

Un fournisseur peut être initialisé plusieurs fois, car il apparaît dans plusieurs profils en utilisation simultanée ou plusieurs fois dans le même profil. Étant donné que l’objet provider contient du contexte, ABProviderInit doit retourner un objet fournisseur différent dans lppABProvider pour chaque initialisation, même pour plusieurs initialisations dans le même processus.

Le fournisseur de carnet d’adresses doit utiliser les fonctions pointées par lpAllocateBuffer, lpAllocateMore et lpFreeBuffer pour la plupart des allocations et désallocations de mémoire. En particulier, le fournisseur doit utiliser ces fonctions pour allouer de la mémoire à utiliser par les applications clientes lors de l’appel d’interfaces objet telles que IMAPIProp ::GetProps et IMAPITable ::QueryRows. Si le fournisseur s’attend également à utiliser l’allocateur de mémoire OLE, il doit appeler la méthode IUnknown ::AddRef de l’objet allocateur vers lequel pointe le paramètre lpMalloc .

Pour plus d’informations sur l’écriture d’ABProviderInit, consultez Implémentation d’une fonction de point d’entrée du fournisseur de carnets d’adresses. Pour plus d’informations sur les fonctions de point d’entrée, consultez Implémentation d’une fonction de point d’entrée de fournisseur de services.

Voir aussi