ValidateParms

適用対象: Outlook 2013 | Outlook 2016

内部関数を呼び出して、クライアント アプリケーションがサービス プロバイダーに渡したパラメーターをチェックします。

プロパティ
ヘッダー ファイル:
Mapival.h
実装元:
MAPI
呼び出し元:
サービス プロバイダー
HRESULT ValidateParms(
  METHODS eMethod,
  LPVOID First
);

パラメーター

eMethod

[in]検証するメソッドを列挙によって指定します。

First

[in]スタック上の最初の引数へのポインター。

戻り値

S_OK

すべてのパラメーターが有効です。

MAPI_E_CALL_FAILED

1 つ以上のパラメーターが無効です。

注釈

MAPI とサービス プロバイダーの間で渡されるパラメーターは正しいと見なされ、 CheckParms マクロを使用したデバッグ検証のみが実行されます。 プロバイダーは、クライアント アプリケーションによって渡されるすべてのパラメーターをチェックする必要がありますが、クライアントは MAPI パラメーターとプロバイダー パラメーターが正しいと想定する必要があります。 戻り値をテストするには、 HR_FAILED マクロを使用します。

ValidateParms は、呼び出し元のコードが C か C++ かに応じて異なる呼び出し方法で呼び出されます。 C++ は、 と 呼ばれる暗黙的 なパラメーターを各メソッド呼び出しに渡します。これは C で明示的になり、オブジェクトのアドレスになります。 最初のパラメーター eMethod は、検証対象のインターフェイスとメソッドから作成された列挙子であり、スタックで検索するパラメーターを指定します。 2 番目のパラメーターは、C と C++ では異なります。 C++ では First と呼ばれ、検証されるメソッドの最初のパラメーターです。 C 言語の 2 番目のパラメーター ppThis は、常にオブジェクト ポインターであるメソッドへの最初のパラメーターのアドレスです。 どちらの場合も、2 番目のパラメーターはメソッドのパラメーター リストの先頭のアドレスを指定し、 eMethod に基づいてスタックを下に移動し、パラメーターを検証します。

IMAPITableIMAPIProp などの一般的なインターフェイスを実装するプロバイダーは、すべてのプロバイダー間で一貫性を確保するために、ValidateParms 関数を使用してパラメーターを常にチェックする必要があります。 必要に応じて、一部の複合パラメーター型に対して追加のパラメーター検証関数が定義されています。 次の関数については、リファレンス トピックを参照してください。

継承されたメソッドは、継承元のインターフェイスと同じパラメーター検証を使用します。 たとえば、 IMessageIMAPIProp のパラメーター チェックは同じである必要があります。

関連項目

UlValidateParms