FCB リソース同期
ミニリダイレクター ドライバーの対象となる同期リソースは、主に FCB に関連付けられています。 ページング I/O リソースと通常のリソースがあります。 ページング I/O リソースは RDBSS によって内部で管理されます。 ミニリダイレクター ドライバーからアクセスできる唯一のリソースは通常のリソースであり、次の指定されたルーチンを使用してアクセスする必要があります。
ルーチンによって返される値 | 説明 |
---|---|
このルーチンは、排他モードで FCB リソースを取得します。 このルーチンは、FCB リソースが以前に取得されている場合は、それが解放されるまで待機します。このルーチンは、排他リソースが取得されるまで制御を返しません。 このルーチンは、この FCB に関連付けられている RX_CONTEXT 構造体が取り消された場合でも、FCB リソースを取得します。 |
|
このルーチンは、共有モードで 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 以降でのみ使用できます。 |
このルーチンは、以前に RxAcquireExclusiveFcbResourceInMRx または RxAcquireSharedFcbResourceInMRx を使用して取得された FCB リソースを解放します。 |
現在のスレッドが FCB 通常リソースにアクセスできるかどうかを判断するために、rxprocs.h ヘッダー ファイルで次のマクロが定義されています。
マクロ | 説明 |
---|---|
RxFcbAcquiredShared (RXCONTEXT、FCB) |
このマクロは、現在のスレッドが共有モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンを呼び出します。 |
RxIsFcbAcquiredShared (FCB) |
このマクロは、現在のスレッドが共有モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンを呼び出します。 |
RxIsFcbAcquiredExclusive (FCB) |
このマクロは、現在のスレッドが排他モードで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredExclusiveLite ルーチンを呼び出します。 |
RxIsFcbAcquired (FCB) |
このマクロは、現在のスレッドが共有モードまたは排他モードのいずれかで通常リソースにアクセスできるかどうかをチェックします。 このマクロは、ExIsResourceAcquiredSharedLite ルーチンと ExIsResourceAcquiredExclusiveLite ルーチンを呼び出します。 |