次の方法で共有


RDBSS が定義するマクロ

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

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

マクロ 説明

RxAcquirePrefixTableLockExclusive (TABLE, WAIT)

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

RxAcquirePrefixTableLockShared (TABLE, WAIT)

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

RxAllocatePoolWithTag (タイプ, サイズ, タグ)

チェックされたビルドでは、このマクロはブロックの先頭に 4 バイトのタグが付いたプールからメモリを割り当てます。これは、メモリ トラッシングのインスタンスを捕捉するのに役立ちます。

製品版ビルドでは、このマクロは 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 (テーブル)

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

RxIsPrefixTableLockExclusive (テーブル)

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

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)

このマクロは、SRV_CALL 構造に対する参照操作を DPC レベルで追跡するために使用されます。

RxReferenceSrvOpen (SrvOpen)

このマクロは、SRV_OPEN 構造に対する参照操作を追跡するために使用されます。

RxReferenceVNetRoot (VNetRoot)

このマクロは、V_NET_ROOT 構造に対する参照操作を追跡するために使用されます。

RxReleasePrefixTableLock (テーブル)

このマクロは、プレフィックス テーブルロックを解放します。

RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE)

このマクロは、ブロックしている I/O リクエストを同じワーク キューに同期します。 Windows Server 2003 では、このマクロは DropFcbLock パラメータが FALSE に設定された __RxSynchronizeBlockingOperations ルーチンを呼び出します。

Windows XP および Windows 2000 では、このマクロは DropFcbLockFALSE に設定された __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock ルーチンを呼び出します。

RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE)

このマクロは、ブロックしている I/O リクエストを同じワーク キューに同期します。 Windows Server 2003 では、このマクロは DropFcbLock パラメーターが TRUE に設定された __RxSynchronizeBlockingOperations ルーチンを呼び出します。

Windows XP および Windows 2000では、このマクロは、DropFcbLockTRUE に設定された __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock ルーチンを呼び出します。