ISourceBlock<TOutput>.ReserveMessage メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この ITargetBlock<TInput> によって前に提供された DataflowMessageHeader を予約するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。
public:
bool ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target);
public bool ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target);
abstract member ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Public Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Out TOutput)) As Boolean
パラメーター
- messageHeader
- DataflowMessageHeader
予約するメッセージの DataflowMessageHeader。
- target
- ITargetBlock<TOutput>
メッセージを予約している ITargetBlock<TInput>。
戻り値
メッセージが正常に予約された場合は true
、それ以外の場合は false
。
例外
messageHeader
が有効ではありません。
target
が null
です。
注釈
このISourceBlock<TOutput>インスタンスにリンクされているインスタンスのみが ITargetBlock<TInput> を使用ReserveMessageでき、このソースによって以前に提供されたインスタンスをターゲットに予約DataflowMessageHeaderするためにのみ使用する必要があります。
が返された場合true
、 ITargetBlock<TInput> は、その後、このメッセージに対して または ReleaseReservation をConsumeMessage呼び出す必要があります。 これを行わないと、ソースがこれ以上のメッセージをこのターゲットまたは他のターゲットに伝達できなくなる可能性があります。
ReserveMessage ターゲットが内部ロックを保持している間は、 を呼び出してはなりません。 これにより、データフロー ネットワークのデッドロックを回避するために必要なロック階層に違反します。
適用対象
.NET