FltMupGetProviderInfoFromFileObject function (fltkernel.h)

FltMupGetProviderInfoFromFileObject retrieves the provider information corresponding to a file object.

Syntax

NTSTATUS FLTAPI FltMupGetProviderInfoFromFileObject(
  PFLT_INSTANCE Instance,
  PFILE_OBJECT  FileObject,
  ULONG         Level,
  PVOID         Buffer,
  PULONG        BufferSize
);

Parameters

Instance

[in] Opaque pointer to the filter instance associated with this file object. This parameter is required and can't be NULL.

FileObject

[in] Pointer to the file object for which the provider information is to be retrieved. This parameter is required and can't be NULL.

Level

[in] The level of information that this routine should return. For more information about the possible values for this parameter, see FsRtlMupGetProviderInfoFromFileObject.

Buffer

[out] Pointer to a buffer that receives the provider information. The returned data is based on the specified Level. This buffer must be large enough to hold the information requested by the Level parameter.

BufferSize

[in/out] Pointer to a variable that specifies the size, in bytes, of the buffer that is pointed to by the Buffer parameter. On input, this variable specifies the size of the buffer. On output, this variable receives the number of bytes that were written to the buffer.

Return value

FltMupGetProviderInfoFromFileObject returns STATUS_SUCCESS if the operation is successful. Otherwise, it returns an appropriate NTSTATUS code.

Remarks

This routine is needed to handle the case of providers that register using FsRtlRegisterUncProviderEx. The device name on the file objects for such provider would be \Device\Mup.

Filters can use this routine for the following purposes:

  • To be able to filter specific redirectors.
  • To find a redirector backing a file object so that they can work around possible bugs in redirectors.

The MUP (multiple UNC provider) can't be unloaded for this call.

The caller guarantees that the FileObject will be valid for the duration of the call.

Requirements

Requirement Value
Minimum supported client Windows 11, version 24H2
Header fltkernel.h
IRQL <= APC_LEVEL

See also

FsRtlMupGetProviderInfoFromFileObject

FsRtlRegisterUncProviderEx