Функция FltGetVolumeProperties (fltkernel.h)
Подпрограмма FltGetVolumeProperties возвращает сведения о свойстве тома для данного тома.
Синтаксис
NTSTATUS FLTAPI FltGetVolumeProperties(
[in] PFLT_VOLUME Volume,
[out] PFLT_VOLUME_PROPERTIES VolumeProperties,
ULONG VolumePropertiesLength,
[out] PULONG LengthReturned
);
Параметры
[in] Volume
Непрозрачный указатель на том. Этот параметр является обязательным и не может иметь значение NULL.
[out] VolumeProperties
Указатель на буфер, выделенный вызывающим объектом, который получает сведения о свойствах запрошенного тома. Если значение Length равно нулю для входных данных, этот параметр игнорируется. В противном случае этот параметр является обязательным и не может иметь значение NULL.
VolumePropertiesLength
Размер (в байтах) буфера, на который указывает параметр VolumeProperties . Этот параметр является необязательным и может быть равен нулю. Если значение равно нулю, функция LengthReturned получает размер буфера в байтах, необходимый для хранения свойств тома. Если этот параметр не равен нулю, он должен быть по крайней мере значением sizeof(FLT_VOLUME_PROPERTIES).
[out] LengthReturned
Указатель на переменную, выделенную вызывающим объектом, которая получает размер в байтах сведений, возвращаемых в VolumeProperties. Если FltGetVolumeProperties возвращает STATUS_BUFFER_TOO_SMALL или значение Length равно нулю для входных данных, этот параметр получает размер буфера, необходимого для хранения свойств тома, в байтах. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltGetVolumeProperties возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:
Код возврата | Описание |
---|---|
|
Буфер, на который указывает параметр VolumeProperties , достаточно велик для хранения фиксированной части структуры FLT_VOLUME_PROPERTIES , но не элементов FileSystemDriverName, FileSystemDeviceName или RealDeviceName . В этом случае в буфер, на который указывает параметр VolumeProperties , возвращается только фиксированная часть сведений о томе. Параметр LengthReturned получает фактическую длину возвращаемых данных в байтах. Это код предупреждения. |
|
Буфер, на который указывает параметр VolumeProperties , недостаточно велик для хранения сведений о свойствах тома. Параметр LengthReturned получает требуемый размер буфера. В этом случае сведения о томе не возвращаются. Это код ошибки. |
Комментарии
FltGetVolumeProperties возвращает только сведения, которые можно безопасно запрашивать в процессе подключения без риска взаимоблокировки системы. Поэтому драйвер мини-фильтра обычно вызывает эту подпрограмму из функции обратного вызова после подключения или подпрограммы InstanceSetupCallback (PFLT_INSTANCE_SETUP_CALLBACK), чтобы определить, следует ли подключаться к заданному тому.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |