FilterVolumeInstanceFindNext function

The FilterVolumeInstanceFindNext function continues a minifilter driver instance or legacy filter driver search started by a call to FilterVolumeInstanceFindFirst.

Syntax


HRESULT FilterVolumeInstanceFindNext(
  _In_  HANDLE                     hVolumeInstanceFind,
  _In_  INSTANCE_INFORMATION_CLASS dwInformationClass,
  _Out_ LPVOID                     lpBuffer,
  _In_  DWORD                      dwBufferSize,
  _Out_ LPDWORD                    lpBytesReturned
);

Parameters

hVolumeInstanceFind [in]

Volume filter driver search handle returned by a previous call to FilterVolumeInstanceFindFirst.

dwInformationClass [in]

The type of filter driver information structure returned. This parameter must contain one of the following values.

ValueMeaning

InstanceBasicInformation

Return an INSTANCE_BASIC_INFORMATION structure for a minifilter instance. Legacy filter drivers are ignored.

InstanceFullInformation

Return an INSTANCE_FULL_INFORMATION structure for a minifilter instance. Legacy filter drivers are ignored.

InstancePartialInformation

Return an INSTANCE_PARTIAL_INFORMATION structure for a minifilter instance. Legacy filter drivers are ignored.

InstanceAggregateStandardInformation

Return an INSTANCE_AGGREGATE_STANDARD_INFORMATION structure for the instance. The LegacyFilter member of the structure is not utilized.

This structure is available starting with Windows Vista.

 

lpBuffer [out]

Pointer to a caller-allocated buffer that receives the requested information. The type of the information returned in the buffer is defined by the dwInformationClass parameter.

dwBufferSize [in]

Size, in bytes, of the buffer that the lpBuffer parameter points to. The caller should set this parameter according to the given dwInformationClass.

lpBytesReturned [out]

Pointer to a caller-allocated variable that receives the number of bytes returned in the buffer that lpBuffer points to if the call to FilterVolumeInstanceFindNext succeeds. This parameter is required and cannot be NULL.

Return value

FilterVolumeInstanceFindNext returns S_OK if successful. Otherwise, it returns an HRESULT error value, such as one of the following:

Return codeDescription
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

The buffer pointed to by lpBuffer is not large enough to contain the requested information. When this value is returned, lpBytesReturned will contain the size, in bytes, of the buffer required for the given dwInformationClass structure.

HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER)

An invalid value was specified for the dwInformationClass parameter. For example, if InstanceAggregateStandardInformation is specified for an operating system prior to Windows Vista, FilterVolumeInstanceFindNext returns this HRESULT value.

HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)

No more filter drivers were found on the given volume.

 

Remarks

FilterVolumeInstanceFindNext finds one filter driver per call.

After the search handle is established by calling FilterVolumeInstanceFindFirst, use the FilterVolumeInstanceFindNext function to search for other filter drivers that are attached to the volume specified in the call to FilterVolumeInstanceFindFirst. When the search handle is no longer required, close it by calling FilterVolumeInstanceFindClose.

Starting with Windows Vista, this routine can return both legacy filter driver information and minifilter driver instance information when the value of the dwInformationClass parameter is InstanceAggregateStandardInformation. For earlier operating systems, this routine cannot return legacy filter information because the INSTANCE_AGGREGATE_STANDARD_INFORMATION structure is not available.

Requirements

Target platform

Universal

Header

Fltuser.h (include FltUser.h)

Library

FltLib.lib

DLL

FltLib.dll

See also

FilterVolumeInstanceFindClose
FilterVolumeInstanceFindFirst
INSTANCE_AGGREGATE_STANDARD_INFORMATION
INSTANCE_BASIC_INFORMATION
INSTANCE_FULL_INFORMATION
INSTANCE_PARTIAL_INFORMATION

 

 

Send comments about this topic to Microsoft

Show: