RDBSS 定义的宏
窗口驱动程序工具包 (WDK) 调用这些 RDBSS 例程或其他内核例程的头文件中定义了许多有用的宏。 其中一些宏通常使用,而不是直接调用 RDBSS 例程。 其中一些宏用作便捷例程。
以下宏由 RDBSS 定义。
宏 | 说明 |
---|---|
RxAcquirePrefixTableLockExclusive (TABLE, WAIT) |
此宏在独占模式下获取用于更改操作的前缀表锁。 |
RxAcquirePrefixTableLockShared (TABLE、 WAIT) |
此宏在共享模式下获取用于查找操作的前缀表锁。 |
RxAllocatePoolWithTag (类型、 大小、 标记) |
在已检查的生成中,此宏从块开头具有四字节标记的池分配内存,该标记可用于帮助捕获内存回收实例。 在零售版本中,此宏成为对 ExAllocatePoolWithTag 的直接调用。 |
RxCheckMemoryBlock (ptr) |
在检查的生成时,此宏会检查内存块中是否有特殊的RX_POOL_HEADER标头签名。 在零售版本上,此宏不执行任何操作。 |
RxDereferenceAndFinalizeNetFcb (Fcb,RxContext, RecursiveFinalize, ForceFinalize) |
此宏用于跟踪 FCB 结构上的取消引用操作。 请注意,此宏操作引用计数,还返回最终取消引用调用的状态。 |
RxDereferenceNetFcb (Fcb) |
此宏用于跟踪 FCB 结构上的取消引用操作。 请注意,此宏操作引用计数,还返回最终取消引用调用的状态。 |
RxDereferenceNetFobx (Fobx,LockHoldingState) |
此宏用于跟踪 FOBX 结构上的取消引用操作。 |
RxDereferenceNetRoot (NetRoot、 LockHoldingState) |
此宏用于跟踪NET_ROOT结构上的取消引用操作。 |
RxDereferenceSrvCall (SrvCall、 LockHoldingState) |
此宏用于跟踪SRV_CALL结构的取消引用操作。 |
RxDereferenceSrvOpen ( SrvOpen, LockHoldingState) |
此宏用于跟踪SRV_OPEN结构的取消引用操作。 |
RxDereferenceVNetRoot ( VNetRoot、 LockHoldingState) |
此宏用于跟踪V_NET_ROOT结构的取消引用操作。 |
RxFcbAcquiredShared (RXCONTEXT、 FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxFillAndInstallFastIoDispatch (__devobj, __fastiodisp) |
此宏调用 __RxFillAndInstallFastIoDispatch 以填充与常规调度 I/O 向量相同的快速 I/O 调度向量,并将其安装到与传递的设备对象关联的驱动程序对象中。 |
RxFreePool (ptr) |
在检查的生成中,此宏释放内存池。 在零售版本上,此宏成为对 ExFreePool 的直接调用。 |
RxIsFcbAcquiredShared (FCB) |
此宏检查当前线程是否有权访问共享模式下的常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 例程。 |
RxIsFcbAcquiredExclusive (FCB) |
此宏检查当前线程是否有权访问独占模式下的常规资源。 此宏调用 ExIsResourceAcquiredExclusiveLite 例程。 |
RxIsFcbAcquired (FCB) |
此宏检查当前线程是否有权在共享或独占模式下访问常规资源。 此宏调用 ExIsResourceAcquiredSharedLite 和 ExIsResourceAcquiredExclusiveLite 例程。 |
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 (RXCONTEXT,FCB,IOQUEUE) |
此宏将阻止 I/O 请求同步到同一工作队列。 在 Windows Server 2003 上,此宏调用 __RxSynchronizeBlockingOperations 例程,并将 DropFcbLock 参数设置为 FALSE。 在 Windows XP 和 Windows 2000 上,此宏调用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 例程,并将 DropFcbLock 参数设置为 FALSE。 |
RxSynchronizeBlockingOperations (RXCONTEXT,FCB,IOQUEUE) |
此宏将阻止 I/O 请求同步到同一工作队列。 在 Windows Server 2003 上,此宏调用 __RxSynchronizeBlockingOperations 例程,并将 DropFcbLock 参数设置为 TRUE。 在 Windows XP 和 Windows 2000 上,此宏调用 __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock 例程,并将 DropFcbLock 参数设置为 TRUE。 |