次の方法で共有


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 で指定されたレジストリ値の内容を読み取ります。 デバイス キーの下の値は、システム内のすべてのアダプターに適用されます。 グローバル ゼロの場合、ポート ドライバーは Parameters\Device(d) サブキーの下 ValueName で指定されたレジストリ値の内容を読み取ります。ここで、(d) は特定のアダプターのポート番号に対応する 10 進数の値です。 この場合、取得されるデータはアダプター固有です。

Type

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

レジストリ値のデータ型 意味
REG_NONE データ型が指定されていない。
REG_SZ NULL-terminated Unicode 文字列を示します。
REG_EXPAND_SZ 完全な文字列を取得するために展開する必要がある環境変数を含む、NULL-terminated 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-terminated 文字列を示します。
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 へのポインター。

戻り値

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

備考

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

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

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー storport.h (Storport.h を含む)
ライブラリ Storport.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する StorPortIrql(storport) する

関連項目

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBufferする

StorPortInitialize