適用対象: Outlook 2013 | Outlook 2016
トランスポート プロバイダーのプリプロセッサ関数 ( 前処理Message プロトタイプに準拠する関数) を登録します。
HRESULT RegisterPreprocessor(
LPMAPIUID lpMuid,
LPSTR lpszAdrType,
LPSTR lpszDLLName,
LPSTR lpszPreprocess,
LPSTR lpszRemovePreprocessInfo,
ULONG ulFlags
);
パラメーター
lpMuid
[in]プリプロセッサ関数が処理する識別子を含む MAPIUID 構造体へのポインター。 lpMuid パラメーターには NULL を指定できます。
lpszAdrType
[in]FAX、SMTP、X500 など、関数が操作するメッセージのアドレスの種類へのポインター。 lpszAdrType パラメーターは NULL にすることができます。
lpszDLLName
[in]プリプロセッサ関数のエントリ ポイントを含むダイナミック リンク ライブラリ (DLL) の名前へのポインター。
lpszPreprocess
[in]プリプロセッサ関数の名前へのポインター。 lpszPreprocess パラメーターには NULL を指定できます。
lpszRemovePreprocessInfo
[in]プリプロセッサ情報を削除する関数の名前へのポインター ( RemovePreprocessInfo プロトタイプに準拠する関数)。 lpszRemovePreprocessInfo パラメーターは NULL にすることができます。
ulFlags
予約;は 0 にする必要があります。
戻り値
S_OK
プリプロセッサ関数が正常に登録されました。
注釈
IMAPISupport::RegisterPreprocessor メソッドは、トランスポート プロバイダーサポート オブジェクトに対してのみ実装されます。 トランスポート プロバイダーは RegisterPreprocessor を呼び出してプリプロセッサ関数 ( 前処理Message プロトタイプに準拠する関数) を登録します。 MAPI スプーラーが呼び出す前に、プリプロセッサ関数を登録する必要があります。
lpszPreprocess、lpszRemovePreprocessInfo、および lpszDLLName パラメーターはすべて、Win32 GetProcAddress 関数の呼び出しと組み合わせて使用できる文字列を指す必要があります。これにより、プリプロセッサの DLL エントリ ポイントを正しく呼び出すことができます。
呼び出し側への注意
プリプロセッサの呼び出しは、トランスポート プロバイダーの順序に固有です。 つまり、プロバイダーより前の別のトランスポート プロバイダーがメッセージを処理できる場合、そのメッセージに対してプリプロセッサ関数は呼び出されません。 プリプロセッサ関数は、処理するメッセージに対してのみ呼び出されます。
MAPIUID 構造体またはアドレスの種類に格納されている特定の識別子を処理するプリプロセッサ関数を記述できます。 lpMuid パラメーターに MAPIUID 構造体と lpszAdrType パラメーターのアドレス型の両方を指定した場合、MAPIUID またはアドレスの種類に一致するメッセージ受信者に対して関数が呼び出されます。 lpMuid が NULL で、lpszAdrType が NULL 以外の場合、lpszAdrType が指す型と一致するアドレスを持つ受信者に対してのみ関数が呼び出されます。 lpMuid が NULL 以外で、lpszAdrType が NULL の場合、MAPIUID に一致する受信者のアドレスの種類に関係なく、関数が呼び出されます。 両方が NULL の場合、メッセージのすべての受信者に対して関数が呼び出されます。
関連項目
MAPIUID
PreprocessMessage
RemovePreprocessInfo
IMAPISupport: IUnknown