このルーチンは、キャッシュ対応のランダウン保護オブジェクトを初期化します。
構文
VOID ExInitializeRundownProtectionCacheAware(
[out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
[in] SIZE_T RunRefSize
);
パラメーター
[out] RunRefCacheAware
ルーチンが不透明な EX_RUNDOWN_REF_CACHE_AWARE 構造体を返す呼び出し元が指定したバッファーへのポインター。 詳細については、「解説」を参照してください。
[in] RunRefSize
ランダウン保護オブジェクトのサイズをバイト単位で指定します。
戻り値
何一つ
備考
ランダウン保護は、複数のスレッドからアクセスされる可能性があるリソースを安全にクリーンアップするために Windows カーネルによって使用される同期メカニズムです。
この関数は、保護されたリソースへのアクセス パターンがキャッシュに対応するシナリオに最適化されています。つまり、同じスレッドがリソースに繰り返しアクセスする可能性があり、異なるスレッドがリソースのさまざまな部分にアクセスする可能性があります。 ExInitializeRundownProtection ではなくこの関数を使用すると、ドライバーはキャッシュ競合の可能性を減らすことができます。この場合、複数のスレッドが同じキャッシュ ラインで競合し、パフォーマンスが低下します。
この関数は通常、操作する必要があるリソースを設定するときに、ドライバーの初期化フェーズ中に使用されます。 ドライバーは、キャッシュ対応のランダウン保護によって保護する必要があるリソースごとにこの関数を呼び出します。
EX_RUNDOWN_REF_CACHE_AWARE 構造体は、ランダウン保護の管理に使用される不透明な構造体です。 呼び出し元は、最初 ExSizeOfRundownProtectionCacheAware を呼び出して、ランダウン保護オブジェクトの適切なサイズを決定する必要があります。 このサイズを使用して、RunRefCacheAware パラメーターのバッファーを割り当て、RunRefSize パラメーターとしても渡す必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小サーバー | Windows Server 2003 Service Pack 1 |
| ヘッダー | wdm.h (Wdm.h を含む) |
| IRQL | <= APC_LEVEL |
関連項目
ExAcquireRundownProtectionCacheAwareの
ExAcquireRundownProtectionCacheAwareExの
ExAllocateCacheAwareRundownProtectionの
ExFreeCacheAwareRundownProtectionの
ExReInitializeRundownProtectionCacheAwareの
ExReleaseRundownProtectionCacheAwareの
ExReleaseRundownProtectionCacheAwareExの
ExRundownCompletedCacheAwareの
ExSizeOfRundownProtectionCacheAwareの
ExWaitForRundownProtectionReleaseCacheAwareの
キャッシュ対応のランダウン保護 の