次の方法で共有


RxIndicateChangeOfBufferingStateForSrvOpen 関数 (rxprocs.h)

RxIndicateChangeOfBufferingStateForSrvOpen が呼び出され、後で処理するために変更バッファリング状態要求 (たとえば、oplock break indication) が登録されます。 必要な前提条件が満たされた場合、oplock はさらに処理されます。

構文

void RxIndicateChangeOfBufferingStateForSrvOpen(
  PMRX_SRV_CALL SrvCall,
  PMRX_SRV_OPEN SrvOpen,
  PVOID         SrvOpenKey,
  PVOID         Context
);

パラメーター

SrvCall

SRV_CALL構造体へのポインター。

SrvOpen

SRV_OPEN構造体へのポインター。

SrvOpenKey

SRV_OPENキー構造のキーへのポインター。

Context

要求を処理するためのコールバック中にネットワーク ミニ リダイレクターに返されるコンテキストへのポインター。

戻り値

なし

解説

このルーチンは、変更バッファリング状態要求を登録リスト (DPC レベル処理) または適切なディスパッチャー/ハンドラー リストに挿入することによって登録します。

これは、バッファリング状態の変化の兆候がサーバーからクライアントによって生成されたキーを使用するインスタンスです (SRV_OPEN アドレス自体が使用できる最適なキーです)。 これは、それ以上の参照は必要ないことを意味します。

ただし、このルーチンが DPC レベルで呼び出されると、参照を実行する必要があるかのように表示が処理されます。

FCB のリソースがこのスレッドによって既に取得されている場合は、バッファリング状態の変更の兆候が、それ以上の遅延なしですぐに処理されます。 RxIndicateChangeOfBufferingStateForSrvOpen は 、この場合すぐに RxChangeBufferingState を 呼び出します。

このルーチンによって呼び出される内部ルーチンは、使用可能なメモリがないために失敗する可能性があります (たとえば、ページプール以外のメモリを割り当てることができません)。ただし、これは VOID ルーチンであるため、この条件が発生してもエラーは返されません。

後で処理するためにキューに入れるのではなく、バッファリング状態要求をすぐに処理できる場合は、 RxChangeBufferingState を 呼び出すことができます。

要件

要件
対象プラットフォーム デスクトップ
Header rxprocs.h (Rxprocs.h、Struchdr.h、Fcb.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState