次の方法で共有


NdisMapFile 関数 (ndis.h)

NdisMapFile 関数は、ファイルが現在マップされていない場合に、既に開いているファイルを呼び出し元がアクセス可能なバッファーにマップします。

構文

void NdisMapFile(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *MappedBuffer,
  [in]  NDIS_HANDLE  FileHandle
);

パラメーター

[out] Status

この関数がマッピング操作の状態を返す呼び出し元が指定した変数へのポインター。次のいずれかになります。

NDIS_STATUS_SUCCESS

呼び出し元は、 NdisUnmapFile 関数が呼び出されるまで、ファイルの内容に排他的にアクセスできます。

NDIS_STATUS_ALREADY_MAPPED

呼び出し元は、現時点ではファイルの内容にアクセスできません。

[out] MappedBuffer

呼び出し元が指定した変数へのポインター。この関数は、マップされたファイルの内容の基本仮想アドレスまたは NULL を返します。

[in] FileHandle

NdisOpenFile 関数の前の呼び出しによって返されたハンドル。

戻り値

なし

解説

NdisMapFile は、ドライバーがファイルの内容にアクセスできるように、仮想アドレス範囲を開いているファイルに関連付けます (マップ)。 NdisMapFile では、特定のファイルのマッピングをいつでも 1 つだけ未処理にすることができます。 そのため、正常な呼び出し元には、 NdisUnmapFile または NdisCloseFile 関数が呼び出されるまで、ファイル データへの排他アクセス権が付与されます。

ミニポート ドライバーは、NdisMapFile と NdisUnmapFile への交互の呼び出しを使用して、必要に応じてこのような開いているファイルをマップおよびマップ解除できます。 NdisCloseFile の呼び出しは FileHandle を解放し、ファイルの内容を含むバッファーの割り当てを解除します。

ミニポート ドライバーは、初期化中にのみ NdisMapFile を 呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「NdisMapFile (NDIS 5.1)」を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (「NdisMapFile (NDIS 5.1)」を参照) でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Video.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_Miscellaneous_Function(ndis)

こちらもご覧ください

MiniportInitializeEx

NdisCloseFile

NdisOpenFile

NdisUnmapFile