Функция StorPortRegistryRead (storport.h)

Подпрограмма StorPortRegistryRead считывает данные реестра для указанного устройства и значения.

Синтаксис

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

Параметры

HwDeviceExtension

Указатель на расширение аппаратного устройства. Это область хранения HBA, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы мини-портов обычно хранят сведения, относящиеся к HBA, в этом расширении, такие как состояние адаптера безопасности и сопоставленные диапазоны доступа для HBA. Эта область доступна драйверу мини-порта сразу после вызова драйвера минипорта StorPortInitialize. Драйвер порта освобождает эту память при удалении устройства. Драйвер мини-порта должен работать на PASSIVE_LEVEL IRQL при вызове этой подпрограммы.

ValueName

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

Global

Указывает, если значение не равно нулю, драйвер порта считывает содержимое значения реестра, указанного параметром ValueName в подразделе Parameters\Device. Значения в разделе Ключ устройства применяются ко всем адаптерам в системе. Если значение Global равно нулю, драйвер порта считывает содержимое значения реестра, указанного параметром 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.
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 возвращает логическое значение TRUE , если данные, на которые указывает ValueName, успешно преобразуются в ASCII и копируются в буфер. Эта подпрограмма возвращает значение FALSE в случае ошибки.

Комментарии

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
Библиотека Storport.lib
IRQL PASSIVE_LEVEL
Правила соответствия DDI StorPortIrql(storport)

См. также раздел

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize