IMessageFilterTable<TFilterData>.GetMatchingValue メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したメッセージまたはバッファー内のメッセージがテーブル内の 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、一致したフィルターのフィルター データを返します。
オーバーロード
GetMatchingValue(Message, TFilterData) |
指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターのデータをコレクションに追加します。 |
GetMatchingValue(MessageBuffer, TFilterData) |
指定したバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターのデータをコレクションに追加します。 |
注釈
1 つのフィルターがメッセージに一致すると予測され、一致するフィルターからフィルター データだけを復元する必要がある場合は、これらのメソッドのいずれかを使用します。 これらのメソッドは、一致するフィルターが見つかったかどうかを示すブール値を返し、data
参照パラメーターに一致するフィルター データを設定します。
メッセージの本文を検査するフィルターがフィルター テーブル内に存在しない場合は、GetMatchingFilter を使用します。
フィルター テーブル内のフィルターでメッセージの本文を検査する可能性がある場合は、メッセージをバッファーに格納し、GetMatchingFilter メソッドに渡します。
GetMatchingValue(Message, TFilterData)
指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターのデータをコレクションに追加します。
public:
bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean
パラメーター
- value
- TFilterData
out
に一致する を FilterData
格納する message
パラメーター。
戻り値
メッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしている場合は true
、どのフィルター条件も満たしていない場合は false
。
注釈
1 つのフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターからフィルター データだけを復元する必要がある場合は、このメソッドを使用します。
このメソッドでは、一致するフィルターは、多くとも 1 つであると予想されます。 複数のフィルターが一致する場合は、MultipleFilterMatchesException をスローする必要があります。
フィルター テーブル内のフィルターでメッセージの本文を検査する必要がある場合は、CreateBufferedCopy を使用してメッセージをバッファーに格納し、それを GetMatchingValue バージョンのメソッドに渡します。
注意 (実装者)
2 つ以上のフィルターがメッセージに一致した場合は、MultipleFilterMatchesException をスローする必要があります。
このオーバーロードは、Message を受け取ります。そして、それがメッセージ本文を確認しようとした場合は、このオーバーロードが InvalidBodyAccessException をスローする必要があります。
適用対象
GetMatchingValue(MessageBuffer, TFilterData)
指定したバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターのデータをコレクションに追加します。
public:
bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean
パラメーター
- messageBuffer
- MessageBuffer
テスト対象の MessageBuffer。
- value
- TFilterData
out
に一致する を FilterData
格納する messageBuffer
パラメーター。
戻り値
メッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしている場合は true
、どのフィルター条件も満たしていない場合は false
。
注釈
1 つのフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターからフィルター データだけを復元する必要があり、メッセージ本文の検査が必要になる可能性がある場合は、このメソッドを使用します。
注意 (実装者)
2 つ以上のフィルターがメッセージに一致した場合は、MultipleFilterMatchesException をスローする必要があります。
適用対象
.NET