次の方法で共有


StorPortRegistryRead 関数 (storport.h)

StorPortRegistryRead ルーチンは、指定されたデバイスと値のレジストリ データを読み取ります。

構文

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

パラメーター

HwDeviceExtension

ハードウェア デバイス拡張機能へのポインター。 これは、ポート ドライバーがミニポート ドライバーの代わりに割り当てて初期化する HBA 記憶域ごとの です。 ミニポート ドライバーは通常、HBA の状態や HBA のマップされたアクセス範囲など、この拡張機能に HBA 固有の情報を格納します。 この領域は、ミニポート ドライバーが StorPortInitialize を呼び出した直後にミニポート ドライバーで使用できます。 ポート ドライバーは、デバイスを削除すると、このメモリを解放します。 ミニポート ドライバーは、このルーチンを呼び出すときに IRQL PASSIVE_LEVELで実行されている必要があります。

ValueName

コンテンツを読み取るレジストリ値名を指定する UCHAR へのポインター。

Global

0 以外の場合、ポート ドライバーが Parameters\Device サブキーで ValueName で指定されたレジストリ値の内容を読み取ります。 [デバイス キー] の値は、システム内のすべてのアダプターに適用されます。 Global が 0 の場合、ポート ドライバーは Parameters\Device(d) サブキーの ValueName で指定されたレジストリ値の内容を読み取ります。ここで、(d) は特定のアダプターのポート番号に対応する 10 進数の値です。 この場合、取得されるデータはアダプター固有です。

Type

レジストリ値のデータ型を示します。 このパラメーターには、次の表のいずれかの値が必要です。

レジストリ値のデータ型 意味
REG_NONE データ型が指定されていない。
REG_SZ NULL で終わる Unicode 文字列を示します。
REG_EXPAND_SZ 完全な文字列を取得するために展開する必要がある環境変数を含む NULL で終わる Unicode 文字列を示します。 たとえば、パス名は"%USERPROFILE%\Application Data" という文字列として格納される場合があります。 この例では、環境変数 USERPROFILE を展開して実際のパス名を取得する必要があります。
REG_BINARY 生のバイナリ データを示します。
REG_DWORD 32 ビットの二重ワード値を示します。
REG_DWORD_LITTLE_ENDIAN 32 ビットの二重ワード値をリトル エンディアン順で示します。 これは、REG_DWORDと同じです。
REG_DWORD_BIG_ENDIAN 32 ビットのダブル ワード値をビッグ エンディアン順で示します。
REG_LINK シンボリック リンクを含む Unicode 文字列を示します。
REG_MULTI_SZ 一連の NULL で終わる文字列を示します。
REG_RESOURCE_LIST レジストリ値に、HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap ハイブの下に格納されているハードウェア リソースの一覧 ("ハードウェア リソース マップ" とも呼ばれます) が含まれていることを示します。
REG_FULL_RESOURCE_DESCRIPTOR レジストリ値に、HKEY_LOCAL_MACHINE\HARDWARE\Description ハイブの下に格納されているハードウェア リソースの説明が含まれていることを示します。
REG_RESOURCE_REQUIREMENTS_LIST レジストリ値に、HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap ツリーに格納されているハードウェア リソース要件の一覧が含まれていることを示します。
REG_QWORD レジストリ値に 64 ビット番号が含まれていることを示します。
REG_QWORD_LITTLE_ENDIAN レジストリ値に 64 ビット番号が含まれていることを示します。 これは、REG_QWORDと同じデータ型です。

Buffer

取得したレジストリ情報が報告されるバッファーへのポインター。

BufferLength

返されるレジストリ データのサイズ (バイト単位) を含む ULONG へのポインター。

戻り値

ValueName が指すデータが正常に ASCII に変換され、バッファーにコピーされた場合StorPortRegistryReadブール値 TRUE を返します。 このルーチンは、エラーが発生した場合に FALSE を 返します。

注釈

StorPortRegistryReadBufferLength パラメーターで 0 以外の値を持つ FALSE を返す場合、渡されたバッファーは小さすぎて、BufferLength パラメーターには使用する必要がある適切なバッファー サイズが反映されます。 BufferLength パラメーターが 0 に設定された状態でルーチンから FALSE が返された場合は、別のエラーが発生しました。

このルーチンで使用されるバッファーは、 StorPortAllocateRegistryBuffer を呼び出すことによって割り当てられ、 StorPortFreeRegistryBuffer を呼び出すことによって解放されます。

要件

要件
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
Library Storport.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 StorPortIrql(storport)

こちらもご覧ください

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize