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 を 返します。
注釈
StorPortRegistryRead が BufferLength パラメーターで 0 以外の値を持つ FALSE を返す場合、渡されたバッファーは小さすぎて、BufferLength パラメーターには使用する必要がある適切なバッファー サイズが反映されます。 BufferLength パラメーターが 0 に設定された状態でルーチンから FALSE が返された場合は、別のエラーが発生しました。
このルーチンで使用されるバッファーは、 StorPortAllocateRegistryBuffer を呼び出すことによって割り当てられ、 StorPortFreeRegistryBuffer を呼び出すことによって解放されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | storport.h (Storport.h を含む) |
Library | Storport.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | StorPortIrql(storport) |