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 |
---|---|
|
La información sobre el redirector de red se devolvió correctamente en el búfer al que apunta el parámetro pBuffer . |
|
Uno de los parámetros era NULL o contenía un valor no válido. |
|
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. |
|
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. |
|
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 |