RDBSS 定义的宏

窗口驱动程序工具包 (WDK) 调用这些 RDBSS 例程或其他内核例程的头文件中定义了许多有用的宏。 其中一些宏通常使用,而不是直接调用 RDBSS 例程。 其中一些宏用作便捷例程。

以下宏由 RDBSS 定义。

说明

RxAcquirePrefixTableLockExclusive (TABLEWAIT)

此宏在独占模式下获取用于更改操作的前缀表锁。

RxAcquirePrefixTableLockShared (TABLEWAIT)

此宏在共享模式下获取用于查找操作的前缀表锁。

RxAllocatePoolWithTag (类型大小标记)

在已检查的生成中,此宏从块开头具有四字节标记的池分配内存,该标记可用于帮助捕获内存回收实例。

在零售版本中,此宏成为对 ExAllocatePoolWithTag 的直接调用。

RxCheckMemoryBlock (ptr)

在检查的生成时,此宏会检查内存块中是否有特殊的RX_POOL_HEADER标头签名。

在零售版本上,此宏不执行任何操作。

RxDereferenceAndFinalizeNetFcb (Fcb,RxContextRecursiveFinalizeForceFinalize)

此宏用于跟踪 FCB 结构上的取消引用操作。

请注意,此宏操作引用计数,还返回最终取消引用调用的状态。

RxDereferenceNetFcb (Fcb)

此宏用于跟踪 FCB 结构上的取消引用操作。

请注意,此宏操作引用计数,还返回最终取消引用调用的状态。

RxDereferenceNetFobx (Fobx,LockHoldingState)

此宏用于跟踪 FOBX 结构上的取消引用操作。

RxDereferenceNetRoot (NetRootLockHoldingState)

此宏用于跟踪NET_ROOT结构上的取消引用操作。

RxDereferenceSrvCall (SrvCallLockHoldingState)

此宏用于跟踪SRV_CALL结构的取消引用操作。

RxDereferenceSrvOpen ( SrvOpenLockHoldingState)

此宏用于跟踪SRV_OPEN结构的取消引用操作。

RxDereferenceVNetRoot ( VNetRootLockHoldingState)

此宏用于跟踪V_NET_ROOT结构的取消引用操作。

RxFcbAcquiredShared (RXCONTEXTFCB)

此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。

RxFillAndInstallFastIoDispatch (__devobj__fastiodisp)

此宏调用 __RxFillAndInstallFastIoDispatch 以填充与常规调度 I/O 向量相同的快速 I/O 调度向量,并将其安装到与传递的设备对象关联的驱动程序对象中。

RxFreePool (ptr)

在检查的生成中,此宏释放内存池。

在零售版本上,此宏成为对 ExFreePool 的直接调用。

RxIsFcbAcquiredShared (FCB)

此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。

RxIsFcbAcquiredExclusive (FCB)

此宏检查当前线程是否有权访问独占模式下的常规资源。 此宏调用 ExIsResourceAcquiredExclusiveLite 例程。

RxIsFcbAcquired (FCB)

此宏检查当前线程是否有权在共享或独占模式下访问常规资源。 此宏调用 ExIsResourceAcquiredSharedLiteExIsResourceAcquiredExclusiveLite 例程。

RxIsPrefixTableLockAcquired (TABLE)

此宏指示前缀表锁是在独占模式还是共享模式下获取的。

RxIsPrefixTableLockExclusive (TABLE)

此宏指示前缀表锁是否是在独占模式下获取的。

RxLog (Args)

在检查的生成中,此宏调用 _RxLog 例程。

在零售版本上,此宏不执行任何操作。

请注意, RxLog 的参数必须用一对额外的括号括起来,以便在应关闭日志记录时转换为 null 调用。

RxLogEvent (_DeviceObject_OriginatorId_EventId_Status)

此宏调用 RxLogEventDirect 例程。

RxLogFailure (_DeviceObject_OriginatorId_EventId_Status)

此宏调用 RxLogEventDirect 例程。

RxLogFailureWithBuffer (_DeviceObject_OriginatorId_EventId_Status_Buffer、_Length)

此宏调用 RxLogEventWithBufferDirect 例程。

RxLogRetail (Args)

在检查的生成中,此宏调用 _RxLog 例程。

在零售版本上,此宏不执行任何操作。

请注意, RxLogRetail 的参数必须用一对额外的括号括起来,以便在应关闭日志记录时转换为 null 调用。

RxReferenceNetFcb (Fcb)

此宏用于跟踪 FCB 结构上的引用操作。

RxReferenceNetFobx (Fobx)

此宏用于跟踪 FOBX 结构上的引用操作。 日志记录系统和 WMI 可以访问这些引用操作的日志。

RxReferenceNetRoot (NetRoot)

此宏用于跟踪NET_ROOT结构的引用操作。 日志记录系统和 Windows Management Instrumentation (WMI) 可以访问这些引用操作的日志。

RxReferenceSrvCall (SrvCall)

此宏用于跟踪不在延迟过程调用 (DPC) 级别的SRV_CALL结构的引用操作。

RxReferenceSrvCallAtDpc (SrvCall)

此宏用于跟踪 DPC 级别的SRV_CALL结构的引用操作。

RxReferenceSrvOpen (SrvOpen)

此宏用于跟踪SRV_OPEN结构上的引用操作。

RxReferenceVNetRoot (VNetRoot)

此宏用于跟踪V_NET_ROOT结构上的引用操作。

RxReleasePrefixTableLock (TABLE)

此宏释放前缀表锁。

RxSynchronizeBlockingOperations (RXCONTEXTFCBIOQUEUE)

此宏将阻止 I/O 请求同步到同一工作队列。 在 Windows Server 2003 上,此宏调用 __RxSynchronizeBlockingOperations 例程,并将 DropFcbLock 参数设置为 FALSE

在 Windows XP 和 Windows 2000 上,此宏调用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 例程,并将 DropFcbLock 参数设置为 FALSE

RxSynchronizeBlockingOperations (RXCONTEXTFCBIOQUEUE)

此宏将阻止 I/O 请求同步到同一工作队列。 在 Windows Server 2003 上,此宏调用 __RxSynchronizeBlockingOperations 例程,并将 DropFcbLock 参数设置为 TRUE

在 Windows XP 和 Windows 2000 上,此宏调用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 例程,并将 DropFcbLock 参数设置为 TRUE