微型重定向器驱动程序感兴趣的同步资源主要与 FCB 相关联。 有分页 I/O 资源和常规资源。 分页 I/O 资源由 RDBSS 在内部管理。 微型重定向程序驱动程序可访问的唯一资源是常规资源,应使用以下提供的例程访问该资源:
| Routine | DESCRIPTION |
|---|---|
此例程以独占模式获取 FCB 资源。 如果以前获取了 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 资源。 |
rxprocs.h 头文件中定义了以下宏,以确定当前线程是否有权访问 FCB 常规资源。
| 宏 | DESCRIPTION |
|---|---|
RxFcbAcquiredShared (RXCONTEXT, FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxIsFcbAcquiredShared (FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxIsFcbAcquiredExclusive (FCB) |
此宏检查当前线程是否有权以独占模式访问常规资源。 此宏调用 ExIsResourceAcquiredExclusiveLite 例程。 |
RxIsFcbAcquired (FCB) |
此宏检查当前线程是否有权在共享或独占模式下访问常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 和 ExIsResourceAcquiredExclusiveLite 例程。 |