Función FsRtlMupGetProviderInfoFromFileObject (ntifs.h)

La rutina FsRtlMupGetProviderInfoFromFileObject obtiene información sobre un redirector de red registrado con el proveedor UNC múltiple (MUP) de un objeto de archivo para un archivo que se encuentra en un sistema de archivos remoto.

Sintaxis

NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
  [in]      PFILE_OBJECT pFileObject,
  [in]      ULONG        Level,
  [out]     PVOID        pBuffer,
  [in, out] PULONG       pBufferSize
);

Parámetros

[in] pFileObject

Puntero a un objeto de archivo de un archivo que se encuentra en un sistema de archivos remoto.

[in] Level

Nivel de información que devuelve la rutina FsRtlMupGetProviderInfoFromFileObject . Para obtener más información sobre los valores posibles para este parámetro, vea la sección Comentarios.

[out] pBuffer

Puntero a un búfer que recibe la información devuelta por la rutina FsRtlMupGetProviderInfoFromFileObject . Para obtener más información sobre el formato de los datos que se devuelven en este búfer, vea la sección Comentarios.

[in, out] pBufferSize

Puntero a una variable con tipo ULONG que contiene el tamaño, en bytes, del búfer al que apunta el parámetro pBuffer . Si la rutina se realiza correctamente, esta variable recibe el tamaño, en bytes, de los datos que se devuelven en el búfer.

Valor devuelto

La rutina FsRtlMupGetProviderInfoFromFileObject devuelve uno de los siguientes valores NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
La información sobre el redirector de red se devolvió correctamente en el búfer al que apunta el parámetro pBuffer .
STATUS_INVALID_PARAMETER
Uno de los parámetros era NULL o contenía un valor no válido.
STATUS_OBJECT_NAME_NOT_FOUND
El objeto de archivo al que apunta el parámetro pFileObject no corresponde a un objeto de archivo de sistema de archivos remoto completamente abierto.
STATUS_BUFFER_TOO_SMALL
El tamaño del búfer al que apunta el parámetro pBuffer es demasiado pequeño para devolver los datos. En esta situación, la variable a la que apunta el parámetro pBufferSize recibe el tamaño necesario, en bytes, del búfer.
STATUS_BUFFER_OVERFLOW
El tamaño del búfer al que apunta el parámetro pBuffer es demasiado pequeño para devolver todos los datos. Solo se devolvieron los datos que caben en el búfer. En esta situación, la variable a la que apunta el parámetro pBufferSize recibe el tamaño necesario, en bytes, del búfer.

Comentarios

Un controlador de filtro del sistema de archivos puede llamar a la rutina FsRtlMupGetProviderInfoFromFileObject para obtener información sobre un redirector de red desde un objeto de archivo para un archivo que se encuentra en un sistema de archivos remoto. La cantidad de información que devuelve la rutina FsRtlMupGetProviderInfoFromFileObject depende del valor del parámetro Level . Si el parámetro Level se establece en 1, la rutina FsRtlMupGetProviderInfoFromFileObject devuelve una estructura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 en el búfer al que apunta el parámetro pBuffer . La estructura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 se define de la siguiente manera:

typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
  ULONG32  ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;

Si el parámetro Level se establece en 2, la rutina FsRtlMupGetProviderInfoFromFileObject devuelve una estructura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 en el búfer al que apunta el parámetro pBuffer . La estructura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 se define de la siguiente manera:

typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_2 {
  ULONG32  ProviderId;
  UNICODE_STRING  ProviderName;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_2, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_2;

Un controlador de filtro del sistema de archivos puede comparar rápidamente el valor del identificador del proveedor con el valor de otros identificadores de proveedor sin necesidad de realizar una comparación de cadenas.

El valor del identificador de proveedor UNC para un redirector de red determinado sigue siendo el mismo si el redirector de red se descarga desde el sistema y, a continuación, se vuelve a cargar en el sistema.

Para obtener el identificador del proveedor UNC de un redirector de red del nombre del dispositivo del redirector de red, un controlador de filtro del sistema de archivos puede llamar a la rutina FsRtlMupGetProviderIdFromName .

Requisitos

Requisito Value
Cliente mínimo compatible La función FsRtlMupGetProviderInfoFromFileObject es Windows Vista
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

FsRtlMupGetProviderIdFromName