MAPI オブジェクトを実装します。Implementing MAPI Objects

適用されます: OutlookApplies to: Outlook

MAPI オブジェクトは、C++ のクラスや言語によっては、C のデータ構造を使用して実装できる API のクライアントの設定やサービス プロバイダーを使用します。MAPI objects can be implemented by using C++ classes or C data structures, depending on the language and the API set a client or service provider is using. MAPI サービス プロバイダー インターフェイスと C または C++ でサービス プロバイダーを記述できます。クライアント アプリケーションは、C または C++ を使用することもできます。Service providers can be written in C or C++ with the MAPI service provider interface; client applications can also use C or C++. 可能であれば、クライアントとオブジェクト指向プログラミング ・ インタ フェースを使用するサービス プロバイダーは、C を使用する必要があります。If possible, clients and service providers that use the object-oriented programming interface should use C++.

C++ は、MAPI は、オブジェクト指向のテクノロジでは、および C++ に適していますより簡単にオブジェクト指向開発のための優先の選択です。C++ is the preferred choice because MAPI is an object-oriented technology, and C++ lends itself more readily to object-oriented development. 生成されるコードよりシンプルかつ簡単に維持するために簡単にします。The resulting code is simpler and more straightforward, making it easier to maintain. C++ 開発者は主に MAPI ドキュメントが書き込まれますC++ ではすべてこのリファレンスでは、MAPI インターフェイス メソッドの構文の説明です。The MAPI documentation is written primarily for C++ developers; all of the syntax descriptions for the MAPI interface methods in this Reference are in C++.

開発者は、MAPI を呼び出すためのソリューションを開発するのには、Microsoft Visual Studio、サードパーティ製の開発ツールを使用できます。Developers can use Microsoft Visual Studio and third-party development tools to develop solutions that call MAPI. 開発者が C またはアンマネージ C++ を使用する必要がありますが、MAPI のソリューションを作成するのには C++ が管理されていないことに注意してください。Note that developers should use C or unmanaged C++, but not managed C++ to write MAPI solutions.

MAPI オブジェクトが実装されている場合、クライアントまたはサービス プロバイダーはインターフェイスのメソッド、プライベート メソッドの実装に固有のコードと状態情報を維持するためのプライベート データ メンバーをサポートするためのコードのすべてのコードを作成します。When a MAPI object is implemented, a client or service provider creates code for all of the interface methods, code for any private methods that are specific to the implementation, and code to support private data members for maintaining state information. インターフェイス メソッドのコードは、正常な動作を文書化する MAPI によって公開された仕様に従う必要があります。The code for the interface methods must follow the specifications published by MAPI that document expected behavior.

Mapidefs.h ヘッダー ファイルとクライアントとのいずれかの言語サービス プロバイダーを使用して MAPI オブジェクトの定義に役立つ OLE ヘッダー ファイル内の多くのマクロがあります。There are many macros in the Mapidefs.h header file and OLE header files that clients and service providers in either language can use to help them with their definitions of MAPI objects. などの MAPI インターフェイスの各メソッドを定義するマクロがあります。For example, there is a macro to define the methods of each of the MAPI interfaces. IUnknownインターフェイスのメソッドを定義するマクロは、Mapidefs.h に次のように表示されます。The macro to define the methods of the IUnknown interface appears in Mapidefs.h as follows:

#define MAPI_IUNKNOWN_METHODS(IPURE)          \
    MAPIMETHOD(QueryInterface)                \
        (THIS_ REFIID riid, LPVOID FAR * ppvObj) IPURE;    \
    MAPIMETHOD_(ULONG,AddRef)  (THIS) IPURE;               \
    MAPIMETHOD_(ULONG,Release) (THIS) IPURE;   \
 

関連項目See also

MAPI オブジェクトとインターフェイスの概要MAPI Object and Interface Overview