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 では、このマクロは DropFcbLock が FALSE に設定された __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock ルーチンを呼び出します。 |
RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE) |
このマクロは、ブロックしている I/O リクエストを同じワーク キューに同期します。 Windows Server 2003 では、このマクロは DropFcbLock パラメーターが TRUE に設定された __RxSynchronizeBlockingOperations ルーチンを呼び出します。 Windows XP および Windows 2000では、このマクロは、DropFcbLock が TRUE に設定された __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock ルーチンを呼び出します。 |