RDBSS 所定義的宏
Window Driver Kit (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。 |