Поделиться через


Функция 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

Указывает, когда драйвер порта считывает содержимое значения реестра, указанного ValueName в подразделе Parameters\Device. Значения под ключом устройства применяются ко всем адаптерам в системе. Если глобальный равно нулю, драйвер портов считывает содержимое значения реестра, указанного ValueName в подразделе Parameters\Device(d), где (d) — десятичное значение, соответствующее номеру порта определенного адаптера. В этом случае полученные данные зависят от адаптера.

Type

Указывает тип данных значения реестра. Этот параметр должен иметь одно из значений в следующей таблице.

Тип данных значения реестра Значение
REG_NONE Нет указанного типа данных.
REG_SZ Указывает строку юникода с NULL.
REG_EXPAND_SZ Указывает строку юникода с NULL, которая включает переменные среды, которые должны быть развернуты для получения полной строки. Например, имя пути может храниться в виде следующей строки: "%USERPROFILE%\Application Data". В этом примере необходимо развернуть переменную среды USERPROFILE, чтобы получить фактическое имя пути.
REG_BINARY Указывает необработанные двоичные данные.
REG_DWORD Указывает 32-разрядное значение двойного слова.
REG_DWORD_LITTLE_ENDIAN Указывает 32-разрядное двойное значение слова в маленьком порядке. Это идентично REG_DWORD.
REG_DWORD_BIG_ENDIAN Указывает 32-разрядное двойное значение слова в порядке большого плана.
REG_LINK Указывает строку Юникода, содержащую символьную ссылку.
REG_MULTI_SZ Указывает ряд строк NULL-terminated strings.
REG_RESOURCE_LIST Указывает, что значение реестра содержит список аппаратных ресурсов, также известный как "карта ресурсов оборудования", который хранится в HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap hive.
REG_FULL_RESOURCE_DESCRIPTOR Указывает, что значение реестра содержит описание аппаратных ресурсов, хранящихся в HKEY_LOCAL_MACHINE\HARDWARE\Description hive.
REG_RESOURCE_REQUIREMENTS_LIST Указывает, что значение реестра содержит список требований к оборудованию, хранящихся в дереве HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_QWORD Указывает, что значение реестра содержит 64-разрядное число.
REG_QWORD_LITTLE_ENDIAN Указывает, что значение реестра содержит 64-разрядное число. Это тот же тип данных, что и REG_QWORD.

Buffer

Указатель на буфер, в котором передаются полученные сведения о реестре.

BufferLength

Указатель на ULONG, содержащий размер в байтах возвращаемых данных реестра.

Возвращаемое значение

StorPortRegistryRead возвращает логическое значение TRUE, если данные, на которые указывает имя значения , успешно преобразуются в ASCII и копируются в буфер. Эта подпрограмма возвращает FALSE в случае ошибки.

Замечания

Если StorPortRegistryRead возвращает значение false FALSE с ненулевом значением в параметре BufferLength, то переданный буфер был слишком мал, а параметр BufferLength отражает правильный размер буфера, который следует использовать. Если подпрограмма возвращает значение false false с параметром BufferLeng th, равным нулю, произошла другая ошибка.

Буфер, используемый в этой подпрограмме, выделяется путем вызова StorPortAllocateRegistryBuffer и освобождения путем вызова StorPortFreeRegistryBuffer.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка storport.h (include Storport.h)
библиотеки Storport.lib
IRQL PASSIVE_LEVEL
правил соответствия DDI storPortIrql(storport)

См. также

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize