次の方法で共有


FCB リソース同期

ミニリダイレクター ドライバーの対象となる同期リソースは、主に FCB に関連付けられています。 ページング I/O リソースと通常のリソースがあります。 ページング I/O リソースは RDBSS によって内部で管理されます。 ミニリダイレクター ドライバーからアクセスできる唯一のリソースは通常のリソースであり、次の指定されたルーチンを使用してアクセスする必要があります。

ルーチンによって返される値 説明

RxAcquireExclusiveFcbResourceInMRx

このルーチンは、排他モードで FCB リソースを取得します。 このルーチンは、FCB リソースが以前に取得されている場合は、それが解放されるまで待機します。このルーチンは、排他リソースが取得されるまで制御を返しません。 このルーチンは、この FCB に関連付けられている RX_CONTEXT 構造体が取り消された場合でも、FCB リソースを取得します。

RxAcquireSharedFcbResourceInMRx

このルーチンは、共有モードで FCB リソースを取得します。 このルーチンは、FCB リソースが以前に排他的に取得されている場合は、それが解放されるまで待機します。このルーチンは、共有リソースが取得されるまで制御を返しません。 このルーチンは、この FCB に関連付けられている RX_CONTEXT 構造体が取り消された場合でも、FCB リソースを取得します。

RxAcquireSharedFcbResourceInMRxEx

このルーチンは、共有モードで FCB リソースを取得します。 このルーチンは、FCB リソースが以前に排他的に取得されている場合は、それが解放されるまで待機します。このルーチンは、共有リソースが取得されるまで制御を返しません。 このルーチンは、この FCB に関連付けられている RX_CONTEXT 構造体が取り消された場合でも、FCB リソースを取得します。

このルーチンは、Windows Server 2003 Service Pack 1 (SP1) 以降でのみ使用できます。

RxReleaseFcbResourceForThreadInMRx

このルーチンは、以前に RxAcquireSharedFcbResourceInMRxEx を使用して取得された FCB リソースを解放します。

このルーチンは、Windows Server 2003 Service Pack 1 以降でのみ使用できます。

RxReleaseFcbResourceInMRx

このルーチンは、以前に RxAcquireExclusiveFcbResourceInMRx または RxAcquireSharedFcbResourceInMRx を使用して取得された FCB リソースを解放します。

現在のスレッドが FCB 通常リソースにアクセスできるかどうかを判断するために、rxprocs.h ヘッダー ファイルで次のマクロが定義されています。

マクロ 説明

RxFcbAcquiredShared (RXCONTEXTFCB)

このマクロは、現在のスレッドが共有モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンを呼び出します。

RxIsFcbAcquiredShared (FCB)

このマクロは、現在のスレッドが共有モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンを呼び出します。

RxIsFcbAcquiredExclusive (FCB)

このマクロは、現在のスレッドが排他モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredExclusiveLite ルーチンを呼び出します。

RxIsFcbAcquired (FCB)

このマクロは、現在のスレッドが共有モードまたは排他モードのいずれかで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンと ExIsResourceAcquiredExclusiveLite ルーチンを呼び出します。