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の