適用されます: OutlookApplies to: Outlook

パラメーターのクライアント アプリケーションがサービス プロバイダーに渡されますが確認するのには内部の関数を呼び出します。Calls an internal function to check the parameters client applications have passed to service providers.

ヘッダー ファイル:Header file:
によって実装されます。Implemented by:
によって呼び出されます。Called by:
サービス プロバイダーService providers
HRESULT ValidateParms(
  METHODS eMethod,
  LPVOID First



[in]確認する方法を列挙型を指定します。[in] Specifies, by enumeration, the method to validate.


[in]スタック上の最初の引数へのポインター。[in] Pointer to the first argument on the stack.

�߂�lReturn value


すべてのパラメーターは、有効です。All of the parameters are valid.


1 つまたは複数のパラメーターが有効ではありません。One or more of the parameters are not valid.


MAPI とサービスの間で渡されるパラメーターを正しくし、 CheckParmsマクロのデバッグ検証のみを行うプロバイダーと見なされます。Parameters passed between MAPI and service providers are assumed to be correct and undergo only debug validation with the CheckParms macro. プロバイダーは、クライアント アプリケーションによって渡されるすべてのパラメーターを確認する必要がありますが、クライアントが MAPI およびプロバイダーのパラメーターが正しいことを想定する必要があります。Providers should check all parameters passed in by client applications, but clients should assume that MAPI and provider parameters are correct. 戻り値をテストするのにには、 HR_FAILEDマクロを使用します。Use the HR_FAILED macro to test return values.

ValidateParmsは、呼び出し元のコードが C または C++ のどちらであるかに応じて異なる方法で呼び出されます。ValidateParms is called differently depending on whether the calling code is C or C++. C++ では、各メソッドの呼び出しに、c 言語では明示的になり、オブジェクトのアドレスを_この_と呼ばれる暗黙のパラメーターを渡します。C++ passes an implicit parameter known as this to each method call, which becomes explicit in C and is the address of the object. _」方法_では、最初のパラメーターを使用して、列挙子インターフェイスとメソッドの検証対象からは、スタックで見つけられるには、どのようなパラメーターを示します。The first parameter, eMethod, is an enumerator made from the interface and method being validated and tells what parameters to expect to find on the stack. 2 番目のパラメーターは、C および C++ では異なります。The second parameter is different for C and C++. C++ では、_最初_と呼びますが最初のパラメーターを検証するメソッド。In C++ it is called First, and it is the first parameter to the method being validated. C 言語、 _ppThis_の 2 番目のパラメーターは、常にオブジェクト ポインターであるメソッドの最初のパラメーターのアドレスです。The second parameter for the C language, ppThis, is the address of the first parameter to the method which is always an object pointer. どちらの場合も、2 番目のパラメーター、メソッドのパラメーター リストの先頭のアドレスでは、 _」方法_に基づく、スタックの下に移動し、パラメーターを検証します。In both cases, the second parameter gives the address of the beginning of the method's parameter list, and based on eMethod, moves down the stack and validates the parameters.

IMAPITableIMAPIPropなどの一般的なインターフェイスを実装するプロバイダーでは、すべてのプロバイダー間での整合性の確認を行うために、 ValidateParms関数を使用してパラメーターを常に確認しています。Providers implementing common interfaces such as IMAPITable and IMAPIProp should always check parameters using the ValidateParms function in order to make sure consistency across all providers. 追加のパラメーターの検証関数は、必要に応じてその代わりに使用するいくつかの複雑なパラメーター型の定義されています。Additional parameter validation functions have been defined for some complex parameter types to be used instead as appropriate. 次の関数のリファレンス トピックを参照してください。See the reference topics for the following functions:

継承されたメソッドは、継承元となるインターフェイスとして同じパラメーターの検証を使用します。Inherited methods use the same parameter validation as the interface from which they inherit. IMessageおよびIMAPIPropをチェックするパラメーターは、同じにする必要があります。For example, the parameter checking for IMessage and IMAPIProp should be the same.

関連項目See also