StorPortAllocateContiguousMemorySpecifyCacheNode 関数 (storport.h)
StorPortAllocateContiguousMemorySpecifyCacheNode ルーチンは、物理的に連続するキャッシュされていない非ページ メモリの範囲を割り当てます。
構文
ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(
[in] PVOID HwDeviceExtension,
[in] SIZE_T NumberOfBytes,
[in] PHYSICAL_ADDRESS LowestAcceptableAddress,
[in] PHYSICAL_ADDRESS HighestAcceptableAddress,
[in, optional] PHYSICAL_ADDRESS BoundaryAddressMultiple,
[in] MEMORY_CACHING_TYPE CacheType,
[in] NODE_REQUIREMENT PreferredNode,
[out] PVOID *BufferPointer
);
パラメーター
[in] HwDeviceExtension
ホスト バス アダプター (HBA) のハードウェア デバイス拡張機能へのポインター。
[in] NumberOfBytes
割り当てるバイト数。
[in] LowestAcceptableAddress
割り当てに有効な最小の物理アドレス。 たとえば、デバイスが 8 MB から 16 MB の範囲の物理メモリのみを参照できる場合、この値は 0x800000 (8 MB) に設定されます。
[in] HighestAcceptableAddress
割り当てに有効な最大物理アドレス。 たとえば、デバイスが 16 MB 未満の物理メモリのみを参照できる場合、この値は 0xFFFFFF (16 MB - 1) に設定されます。
[in, optional] BoundaryAddressMultiple
この割り当てが交差してはならない複数の物理アドレス。
[in] CacheType
マッピングに必要なキャッシュの種類。
[in] PreferredNode
ページがそのノードで使用可能な場合に割り当てを行う必要がある優先ノード。
[out] BufferPointer
割り当てられたメモリ ブロックの開始アドレスを受け取る変数。 このルーチンから戻ると、この変数が 0 の場合、要求を満たすために連続した範囲が見つかりませんでした。 この変数が NULL でない場合は、割り当てられた物理的に連続したメモリへのポインター (たとえば、システムの非ページ部分の仮想アドレス) が含まれます。
戻り値
StorPortAllocateContiguousMemorySpecifyCacheNode ルーチンは、次のいずれかの状態コードを返します。
リターン コード | 説明 |
---|---|
|
この関数は、アクティブなオペレーティング システムには実装されません。 |
|
操作に成功しました。 |
|
リソースが不足しているため、要求されたメモリの割り当てに失敗しました。 |
注釈
要求が失敗した場合、 BufferPointer は NULL に設定されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | storport.h (Storport.h を含む) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | StorPortIrql(storport) |