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 资源。 |
以下宏在 rxprocs.h 头文件中定义,以确定当前线程是否有权访问 FCB 常规资源。
宏 | 说明 |
---|---|
RxFcbAcquiredShared (RXCONTEXT、 FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxIsFcbAcquiredShared (FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxIsFcbAcquiredExclusive (FCB) |
此宏检查当前线程是否有权在独占模式下访问常规资源。 此宏调用 ExIsResourceAcquiredExclusiveLite 例程。 |
RxIsFcbAcquired (FCB) |
此宏检查当前线程是否有权在共享或独占模式下访问常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 和 ExIsResourceAcquiredExclusiveLite 例程。 |