Compartilhar via


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 retornadas pelo rotina de 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 pelo FsRtlMupGetProviderInfoFromFileObject rotina. Para obter mais informações sobre o formato dos dados retornados neste 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.

Valor de retorno

A rotina FsRtlMupGetProviderInfoFromFileObject retorna um dos seguintes valores NTSTATUS.

Código de retorno Descrição
STATUS_SUCCESS
As informações sobre o redirecionador de rede foram retornadas com êxito no buffer apontado pelo parâmetro pBuffer .
STATUS_INVALID_PARAMETER
Um dos parâmetros foi NULL ou continha um valor inválido.
STATUS_OBJECT_NAME_NOT_FOUND
O objeto de arquivo apontado pelo parâmetro pFileObject não corresponde a um objeto de arquivo do sistema de arquivos remoto completamente aberto.
STATUS_BUFFER_TOO_SMALL
O tamanho do buffer apontado pelo parâmetro pBuffer é muito pequeno para retornar dados. Nessa situação, a variável apontada pelo parâmetro pBufferSize recebe o tamanho necessário, em bytes, do buffer.
STATUS_BUFFER_OVERFLOW
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.

Observações

Um driver de filtro do sistema de arquivos pode chamar o FsRtlMupGetProviderInfoFromFileObject rotina 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 de FsRtlMupGetProviderInfoFromFileObject depende do valor do parâmetro Level. Se o parâmetro Level for definido como 1, a rotina FsRtlMupGetProviderInfoFromFileObject retornará uma estrutura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 no buffer que é apontada pelo parâmetro pBuffer . A estrutura de 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 que é apontada 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 de 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 de 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
de cliente com suporte mínimo A função FsRtlMupGetProviderInfoFromFileObject é Windows Vista
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte também

FsRtlMupGetProviderIdFromName