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 的指针,该 UCHAR 指定要读取其内容的注册表值名称。
Global
指示端口驱动程序在参数\设备子项下读取由 ValueName 指定的注册表值的内容(如果为非零)。 设备密钥下的值适用于系统中的所有适配器。 当 全局 为零时,端口驱动程序将读取参数\Device(d) 子项下 ValueName 指定的注册表值的内容,其中 (d) 是对应于特定适配器端口号的十进制值。 在这种情况下,检索的数据特定于适配器。
Type
指示注册表值的数据类型。 此参数必须具有下表中的一个值。
注册表值数据类型 | 意义 |
---|---|
REG_NONE | 未指定数据类型。 |
REG_SZ | 指示 NULL-terminated 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-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 返回 FALSE,BufferLength 参数中的非零值,则传递的缓冲区太小,并且 BufferLength 参数反映应使用的正确缓冲区大小。 如果例程返回 FALSE,BufferLength 参数设置为零,则会发生另一个错误。
此例程中使用的缓冲区通过调用 StorPortAllocateRegistryBuffer 进行分配,并通过调用 StorPortFreeRegistryBuffer来释放。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | storport.h (包括 Storport.h) |
库 | Storport.lib |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | StorPortIrql(storport) |