Функция PcGetDeviceProperty (portcls.h)
Функция PcGetDeviceProperty возвращает запрошенное свойство устройства из реестра.
Синтаксис
PORTCLASSAPI NTSTATUS PcGetDeviceProperty(
[in] PVOID DeviceObject,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] ULONG BufferLength,
[out] PVOID PropertyBuffer,
[out] PULONG ResultLength
);
Параметры
[in] DeviceObject
Указатель на объект устройства. Этот параметр указывает на DEVICE_OBJECT системную структуру, но приведение к типу PVOID.
[in] DeviceProperty
Перечислитель DEVICE_REGISTRY_PROPERTYтипа, определяющий свойство устройства, которое требуется извлечь.
[in] BufferLength
Указывает длину в байтах буфера, который требуется получить запрошенные данные свойства.
[out] PropertyBuffer
Указатель на выделенный вызывающим буфером, в который метод выполняет запись запрошенных данных свойств. Буфер должен быть достаточно большим, чтобы содержать количество байтов, указанных в BufferLength.
[out] ResultLength
Указатель на выделенную вызывающим переменную, в которую метод выводит число, указывающее количество байтов, фактически записанных в буфер. Если размер буфера, указанный в BufferLength, слишком мал для хранения данных свойства, метод вместо этого выводит количество байтов, необходимых для данных свойства, и возвращает STATUS_BUFFER_TOO_SMALL.
Возвращаемое значение
PcGetDeviceProperty возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки. Подпрограмма возвращает STATUS_BUFFER_TOO_SMALL, если размер буфера, указанный в BufferLength, недостаточно велик, чтобы содержать запрошенные данные свойства.
Замечания
Может потребоваться два вызова PcGetDeviceProperty, чтобы определить необходимый BufferLength. В первом вызове BufferLength может быть равно нулю или оптимальной оценке требуемого размера буфера. Если состояние возврата STATUS_BUFFER_TOO_SMALL, это означает, что вызывающий объект должен выделить буфер размера, который был выведен через ResultLength и вызвать PcGetDeviceProperty еще раз.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Системный драйвер PortCls реализует функцию PcGetDeviceProperty в Microsoft Windows 98/Me и в Windows 2000 и более поздних операционных системах. |
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |
библиотеки | Portcls.lib |
IRQL | PASSIVE_LEVEL |