Função FsRtlMupGetProviderInfoFromFileObject (ntifs.h)
A rotina FsRtlMupGetProviderInfoFromFileObject obtém informações sobre um redirecionador de rede registrado com o MUP (provedor UNC múltiplo) de um objeto de arquivo para um arquivo localizado em um sistema de arquivos remoto.
Sintaxe
NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
[in] PFILE_OBJECT pFileObject,
[in] ULONG Level,
[out] PVOID pBuffer,
[in, out] PULONG pBufferSize
);
Parâmetros
[in] pFileObject
Um ponteiro para um objeto de arquivo de um arquivo localizado em um sistema de arquivos remoto.
[in] Level
O nível de informações que é retornado pela rotina FsRtlMupGetProviderInfoFromFileObject . Para obter mais informações sobre os valores possíveis para esse parâmetro, consulte a seção Comentários.
[out] pBuffer
Um ponteiro para um buffer que recebe as informações retornadas pela rotina FsRtlMupGetProviderInfoFromFileObject . Para obter mais informações sobre o formato dos dados retornados nesse buffer, consulte a seção Comentários.
[in, out] pBufferSize
Um ponteiro para uma variável do tipo ULONG que contém o tamanho, em bytes, do buffer apontado pelo parâmetro pBuffer . Se a rotina for bem-sucedida, essa variável receberá o tamanho, em bytes, dos dados retornados no buffer.
Retornar valor
A rotina FsRtlMupGetProviderInfoFromFileObject retorna um dos seguintes valores NTSTATUS.
Código de retorno | Descrição |
---|---|
|
As informações sobre o redirecionador de rede foram retornadas com êxito no buffer apontado pelo parâmetro pBuffer . |
|
Um dos parâmetros era NULL ou continha um valor inválido. |
|
O objeto de arquivo apontado pelo parâmetro pFileObject não corresponde a um objeto de arquivo do sistema de arquivos remoto completamente aberto. |
|
O tamanho do buffer apontado pelo parâmetro pBuffer é muito pequeno para retornar qualquer dado. Nessa situação, a variável apontada pelo parâmetro pBufferSize recebe o tamanho necessário, em bytes, do buffer. |
|
O tamanho do buffer apontado pelo parâmetro pBuffer é muito pequeno para retornar todos os dados. Somente os dados que caberiam no buffer foram retornados. Nessa situação, a variável apontada pelo parâmetro pBufferSize recebe o tamanho necessário, em bytes, do buffer. |
Comentários
Um driver de filtro do sistema de arquivos pode chamar a rotina FsRtlMupGetProviderInfoFromFileObject para obter informações sobre um redirecionador de rede de um objeto de arquivo para um arquivo localizado em um sistema de arquivos remoto. A quantidade de informações retornadas pela rotina FsRtlMupGetProviderInfoFromFileObject depende do valor do parâmetro Level . Se o parâmetro Level estiver definido como 1, a rotina FsRtlMupGetProviderInfoFromFileObject retornará uma estrutura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 no buffer apontado pelo parâmetro pBuffer . A estrutura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 é definida da seguinte maneira:
typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
ULONG32 ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;
Se o parâmetro Level for definido como 2, a rotina FsRtlMupGetProviderInfoFromFileObject retornará uma estrutura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 no buffer apontado pelo parâmetro pBuffer . A estrutura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 é definida da seguinte maneira:
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;
Um driver de filtro do sistema de arquivos pode comparar rapidamente o valor do identificador do provedor com o valor de outros identificadores do provedor sem a necessidade de fazer uma comparação de cadeia de caracteres.
O valor do identificador do provedor UNC para um redirecionador de rede específico permanecerá o mesmo se o redirecionador de rede for descarregado do sistema e recarregado novamente no sistema.
Para obter o identificador do provedor UNC de um redirecionador de rede do nome do dispositivo do redirecionador de rede, um driver de filtro do sistema de arquivos pode chamar a rotina FsRtlMupGetProviderIdFromName .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | A função FsRtlMupGetProviderInfoFromFileObject é o Windows Vista |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |