Функция FilterInstanceFindFirst (fltuser.h)
Функция FilterInstanceFindFirst возвращает сведения об экземпляре драйвера минифильтра и используется в качестве отправной точки для сканирования экземпляров минифильтра.
Синтаксис
HRESULT FilterInstanceFindFirst(
[in] LPCWSTR lpFilterName,
[in] INSTANCE_INFORMATION_CLASS dwInformationClass,
[out] LPVOID lpBuffer,
[in] DWORD dwBufferSize,
[out] LPDWORD lpBytesReturned,
[out] LPHANDLE lpFilterInstanceFind
);
Параметры
[in] lpFilterName
Указатель на строку расширенных символов, завершающуюся null, которая содержит имя драйвера минифильтра, которому принадлежит экземпляр .
[in] dwInformationClass
Тип возвращаемой структуры сведений об экземпляре. Этот параметр должен иметь одно из следующих значений.
Значение | Значение |
---|---|
InstanceBasicInformation | Возвращает структуру INSTANCE_BASIC_INFORMATION для экземпляра . |
InstanceFullInformation | Возвращает структуру INSTANCE_FULL_INFORMATION для экземпляра . |
InstancePartialInformation | Возвращает структуру INSTANCE_PARTIAL_INFORMATION для экземпляра . |
InstanceAggregateStandardInformation | Возвращает структуру INSTANCE_AGGREGATE_STANDARD_INFORMATION для экземпляра . Часть структуры LegacyFilter не используется. Эта структура доступна начиная с Windows Vista. |
[out] lpBuffer
Указатель на буфер, выделенный вызывающим объектом, который получает запрошенные сведения. Тип информации, возвращаемой в буфере, определяется параметром dwInformationClass .
[in] dwBufferSize
Размер (в байтах) буфера, на который указывает параметр lpBuffer . Вызывающий объект должен задать этот параметр в соответствии с заданным dwInformationClass.
[out] lpBytesReturned
Указатель на переменную, выделенную вызывающим объектом, которая получает количество байтов, возвращаемых в буфере, на который указывает lpBuffer , если вызов FilterInstanceFindFirst завершается успешно. Этот параметр является обязательным и не может иметь значение NULL.
[out] lpFilterInstanceFind
Указатель на переменную, выделенную вызывающим объектом, которая получает дескриптор поиска для минифильтра в случае успешного вызова FilterInstanceFindFirst ; В противном случае он получает INVALID_HANDLE_VALUE. Этот дескриптор поиска можно использовать в последующих вызовах FilterInstanceFindNext и FilterInstanceFindClose.
Возвращаемое значение
FilterInstanceFindFirst возвращает S_OK в случае успешного выполнения. В противном случае возвращается значение ошибки HRESULT, например одно из следующих значений:
Код возврата | Описание |
---|---|
|
Буфер, на который указывает lpBuffer, недостаточно велик, чтобы содержать запрошенные сведения. При возврате этого значения lpBytesReturned будет содержать размер буфера, необходимого для данной структуры dwInformationClass (в байтах). |
|
Для параметра dwInformationClass указано недопустимое значение. Например, если параметр InstanceAggregateStandardInformation указан для операционных систем до Windows Vista, функция возвращает это значение HRESULT. |
|
Минифильтр, заданный параметром lpFilterName , не имеет экземпляра в стеке файловой системы. |
Комментарии
Функция FilterInstanceFindFirst открывает дескриптор поиска и возвращает сведения об экземпляре для минифильтра с именем lpFilterName. После установки дескриптора поиска вызовите FilterInstanceFindNext для поиска других экземпляров того же минифильтра. Если дескриптор поиска больше не нужен, закройте его, вызвав FilterInstanceFindClose.
Требования
Целевая платформа | Универсальное |
Верхняя часть | fltuser.h (включая FltUser.h) |
Библиотека | FltLib.lib |
DLL | FltLib.dll |