NdisReadConfiguration 関数 (ndis.h)

NdisReadConfiguration 関数は、開いているレジストリ キーへのハンドルを指定して、レジストリから指定された型の名前付きエントリの値を返します。 この関数は、それ自体と NdisWriteConfiguration 関数に対して順次呼び出す必要があります。

構文

void NdisReadConfiguration(
  [out] PNDIS_STATUS                  Status,
  [out] PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  NDIS_PARAMETER_TYPE           ParameterType
);

パラメーター

[out] Status

呼び出し元が指定した変数へのポインター。この関数は、呼び出しの状態を次のいずれかの値として返します。

意味
NDIS_STATUS_SUCCESS
ParameterValue のバッファーには、返された構成情報が含まれています。
NDIS_STATUS_RESOURCES
NDIS は、要求された情報を返すためにリソース (通常は十分なメモリ) を割り当てませんでした。
NDIS_STATUS_FAILURE
要求された情報が 、ConfigurationHandle によって指定された開かれたレジストリ キーの下に見つかりませんでした。

[out] ParameterValue

NDIS が へのポインターを提供するメモリの場所へのポインターNdisReadConfiguration の呼び出しが成功した場合は、構造体をNDIS_CONFIGURATION_PARAMETERします。 NDIS は、 のメモリを割り当てます。 NDIS_CONFIGURATION_PARAMETER 構造体。

[in] ConfigurationHandle

NdisOpenConfigurationEx によって返されたレジストリ キーへのハンドル。 NdisOpenConfigurationKeyByIndex、または NdisOpenConfigurationKeyByName 関数。

[in] Keyword

呼び出し元が指定したNDIS_STRING型へのポインター。システムの既定の文字セットで、値を返す開いているレジストリ キーの下にあるエントリの名前を指定して、カウントされた文字列を記述します。

または、呼び出し元から提供されたへのポインター NDIS_STRING_CONSTANT、定義済みの戻り値と共に、次の定義済みのエントリ名のいずれかを指定します。

定義済みのエントリ名 定義済みの戻り値
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
以下は、古い (NDIS 6.0 より前の) ドライバーの場合にのみ可能です。
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmm。 MMMM はメジャー バージョン、 mmmm はマイナー バージョン番号です。 たとえば、0x00050000は、システムでサポートされている最も高い NDIS バージョンがメジャー バージョン 5、マイナー バージョン 0 であることを示します。

[in] ParameterType

NDIS_PARAMETER_TYPE列挙値の 1 つとして指定される値エントリの型。 このパラメーターは、Windows NT 以降のバージョンでは無視されます。

戻り値

なし

解説

Windows 2000 以降のバージョンの構成レジストリでは、NDIS キーワード (keyword)値のエントリ名のシノニムです。 このような名前は、 NULL で終わる Unicode 文字のカウントされたシーケンスです。

すべての NDIS ドライバーは、INF ファイルの AddReg ディレクティブを使用して、レジストリ自体の構成情報を設定できます。 たとえば、プロトコル ドライバーは、 への呼び出しで渡すことができる書式設定済みの文字列値を持つエントリとして独自の名前を格納する場合があります。 NdisRegisterProtocolDriver 関数。 詳細については、「 Add-registry-sections in a Network INF File」を参照してください。

各ミニポート ドライバーには、レジストリ内の値エントリも関連付けられています。 特定のミニポート ドライバーの値エントリは、本質的にデバイスに依存できます。 たとえば、ミニポート ドライバーには、*FlowControl、*SpeedDuplex、*InterruptModeration などのキーワードが含まれる場合があります。 このような NDIS キーワード (keyword)に関連付けられている値には、整数 (ULONG 型) または文字列 (NDIS_STRING 型) のいずれかを指定できます。 たとえば、既に言及されている *FlowControl エントリに使用できる値のセットは、 NdisParameterInteger 値 0、1、2、または 3、または NdisParameterHexInteger 値として 16 進数の同等の値です。

NdisReadConfiguration は、呼び出し元が指定した文字列を Keyword にバッファーしてコピーし、呼び出し元に制御を返す前に、このコピーに割り当てるストレージを解放します。 に割り当てるメモリ ドライバーNdisCloseConfiguration 関数を使用して ConfigurationHandle を解放すると、NDIS_CONFIGURATION_PARAMETER構造体が解放されます。 NdisReadConfiguration の呼び出し元は、Keyword でバッファーされた文字列を解放します。

NDIS は、ドライバーがレジストリから読み取る値を検証しないことに注意してください。 したがって、 NdisReadConfiguration の呼び出し元は、このような値について何も想定せず、レジストリから読み取られた各値を検証する必要があります。 呼び出し元が値が範囲外であると判断した場合は、代わりに既定値を使用する必要があります。

セットアップ ファイルとインストール ファイルの詳細については、「 デバイスのインストールの概要」を参照してください。

要件

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

こちらもご覧ください

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING