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 |