次の方法で共有


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 ルーチンは、次のいずれかの状態コードを返します。

リターン コード 説明
STOR_STATUS_NOT_IMPLEMENTED
この関数は、アクティブなオペレーティング システムには実装されません。
STOR_STATUS_SUCCESS
操作に成功しました。
STOR_STATUS_INSUFFICIENT_RESOURCES
リソースが不足しているため、要求されたメモリの割り当てに失敗しました。

注釈

要求が失敗した場合、 BufferPointerNULL に設定されます。

要件

要件
サポートされている最小のクライアント Windows 7 以降で使用できます。
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 StorPortIrql(storport)