Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Программа 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) |