RDBSS によって定義されるマクロ

Windows Driver Kit (WDK) ヘッダー ファイルには、これらの RDBSS ルーチンまたはその他のカーネル ルーチンを呼び出す便利なマクロが多数定義されています。 これらのマクロの一部は、RDBSS ルーチンを直接呼び出す代わりに通常使用されます。 これらのマクロの一部は、便利なルーチンとして使用されます。

RDBSS では、次のマクロが定義されています。

Macro Description

RxAcquirePrefixTableLockExclusive (TABLE, WAIT)

このマクロは、変更操作の排他モードでプレフィックス テーブル ロックを取得します。

RxAcquirePrefixTableLockShared (TABLE, WAIT)

このマクロは、参照操作の共有モードでプレフィックス テーブル ロックを取得します。

RxAllocatePoolWithTag (type, size, tag)

チェックされたビルドでは、このマクロは、メモリのごみ箱のインスタンスをキャッチするために使用できるブロックの先頭に 4 バイトのタグを持つプールからメモリを割り当てます。

On retail builds, this macro becomes a direct call to 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)

このマクロは、現在のスレッドが共有モードで通常のリソースにアクセスできるかどうかを確認します。 This macro calls the ExIsResourceAcquiredSharedLite routine.

RxFillAndInstallFastIoDispatch(__devobj, __fastiodisp)

This macro calls __RxFillAndInstallFastIoDispatch to fill out a fast I/O dispatch vector to be identical with the normal dispatch I/O vector and installs it into the driver object associated with the device object passed.

RxFreePool (ptr)

オンのビルドでは、このマクロはメモリ プールを解放します。

On retail builds, this macro becomes a direct call to ExFreePool.

RxIsFcbAcquiredShared (FCB)

このマクロは、現在のスレッドが共有モードで通常のリソースにアクセスできるかどうかを確認します。 This macro calls the ExIsResourceAcquiredSharedLite routine.

RxIsFcbAcquiredExclusive (FCB)

このマクロは、現在のスレッドが排他モードで通常のリソースにアクセスできるかどうかを確認します。 This macro calls the ExIsResourceAcquiredExclusiveLite routine.

RxIsFcbAcquired (FCB)

このマクロは、現在のスレッドが共有モードまたは排他モードで通常のリソースにアクセスできるかどうかを確認します。 This macro calls the ExIsResourceAcquiredSharedLite and ExIsResourceAcquiredExclusiveLite routines.

RxIsPrefixTableLockAcquired (TABLE)

このマクロは、プレフィックス テーブル ロックが排他モードまたは共有モードで取得されたかどうかを示します。

RxIsPrefixTableLockExclusive (TABLE)

このマクロは、プレフィックス テーブルロックが排他モードで取得されたかどうかを示します。

RxLog(Args)

On checked builds, this macro calls the _RxLog routine.

リテール ビルドでは、このマクロは何も行いません。

Note that the arguments to RxLog must be enclosed with an additional pair of parenthesis to enable translation into a null call when logging should be turned off.

RxLogEvent (_DeviceObject, _OriginatorId, _EventId, _Status)

This macro calls the RxLogEventDirect routine.

RxLogFailure (_DeviceObject, _OriginatorId, _EventId, _Status)

This macro calls the RxLogEventDirect routine.

RxLogFailureWithBuffer (_DeviceObject, _OriginatorId, _EventId, _Status, _Buffer, _Length)

This macro calls the RxLogEventWithBufferDirect routine.

RxLogRetail(Args)

On checked builds, this macro calls the _RxLog routine.

リテール ビルドでは、このマクロは何も行いません。

Note that the arguments to RxLogRetail must be enclosed with an additional pair of parenthesis to enable translation into a null call when logging should be turned off.

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 要求を同じ作業キューに同期します。 On Windows Server 2003, this macro calls the __RxSynchronizeBlockingOperations routine with the DropFcbLock parameter set to FALSE.

On Windows XP and Windows 2000, this macro calls the __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock routine with the DropFcbLock parameter set to FALSE.

RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE)

このマクロは、ブロッキング I/O 要求を同じ作業キューに同期します。 On Windows Server 2003, this macro calls the __RxSynchronizeBlockingOperations routine with the DropFcbLock parameter set to TRUE.

On Windows XP and Windows 2000, this macro calls the __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock routine with the DropFcbLock parameter set to TRUE.