次の方法で共有


NdisOpenFile 関数 (ndis.h)

NdisOpenFile 関数は、開かれたファイルのハンドルを返します。

構文

void NdisOpenFile(
  [out] PNDIS_STATUS          Status,
  [out] PNDIS_HANDLE          FileHandle,
  [out] PUINT                 FileLength,
  [in]  PNDIS_STRING          FileName,
  [in]  NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
);

パラメーター

[out] Status

呼び出し元が指定した変数へのポインター。この関数は、開いているファイル操作の状態を返します。これは、次のいずれかになります。

NDIS_STATUS_SUCCESS

FileHandle のハンドルは、NdisMapFile の後続の呼び出しに対して有効です。

NDIS_STATUS_FILE_NOT_FOUND

FileName の指定された文字列に、システム オブジェクト名前空間で見つかった名前が指定されていませんでした。

NDIS_STATUS_RESOURCES

NDIS は、ファイルを開き、ファイルの内容のバッファーを割り当てるために必要なリソースを割り当てませんでした。

NDIS_STATUS_ERROR_READING_FILE

指定されたファイルのデータを、呼び出し元による後続のアクセスのためにシステム メモリに読み込めませんでした。

[out] FileHandle

呼び出しが成功した場合に、この関数が開かれたファイルのハンドルを返す、呼び出し元が指定した変数へのポインター。

[out] FileLength

呼び出し元が指定した変数へのポインター。この関数は、呼び出しが成功した場合に、開かれたファイル内のデータのバイト数を書き込みます。

[in] FileName

初期化されたカウントされた文字列を含むNDIS_STRING型へのポインター。システムの既定の文字セット内で、開くファイルに名前を付けます。 Windows 2000 以降のドライバーの場合、この文字列には Unicode 文字が含まれます。 つまり、Windows 2000 以降の場合、NDIS はNDIS_STRING型を UNICODE_STRING 型として定義します。

[in] HighestAcceptableAddress

ファイル データを格納できる最大の物理アドレス。ドライバーが制限を設けなかった場合は -1 を指定します。

戻り値

なし

解説

NdisOpenFile はディスク ファイルを開きます。通常、ドライバーは後でインテリジェント NIC をプログラムするためにダウンロードするファイルです。 NdisOpenFile は、 NdisMapFile 関数に対するドライバーの後続の呼び出しのファイルの内容を保持する記憶域も割り当てます。

ミニポート ドライバーは、ミニポートInitializeEx 関数からのみ NdisOpenFile を呼び出す必要があります。

NdisOpenFile が返されると、ミニポート ドライバーは NdisMapFile を呼び出すことによってファイル データにアクセスできます。 NdisUnmapFile 関数を呼び出してファイルをページングし、ドライバーがファイル データにアクセスしていない間にリソースを不必要に消費しないようにすることができます。 ファイルの使用が完了したら、 MiniportInitializeEx は を呼び出す必要があります。
NdisCloseFile 関数。

注意

NDISOpenFileNdisCloseFileNdisMapFileNdisUnmapFile は ARM64 ではサポートされていません。 ARM64 では、これらの関数を ZwCreateFileZwReadFile、またはその他の同様の操作の呼び出しに置き換えます。

要件

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

こちらもご覧ください

MiniportInitializeEx

NdisCloseFile

NdisMapFile

NdisUnmapFile

UNICODE_STRING