Funzione FsRtlMupGetProviderInfoFromFileObject (ntifs.h)

La routine FsRtlMupGetProviderInfoFromFileObject ottiene informazioni su un redirector di rete registrato con più provider UNC (MUP) da un oggetto file per un file che si trova in un file system remoto.

Sintassi

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

Parametri

[in] pFileObject

Puntatore a un oggetto file di un file che si trova in un file system remoto.

[in] Level

Livello di informazioni restituite dalla routine FsRtlMupGetProviderInfoFromFileObject . Per altre informazioni sui valori possibili per questo parametro, vedere la sezione Osservazioni.

[out] pBuffer

Puntatore a un buffer che riceve le informazioni restituite dalla routine FsRtlMupGetProviderInfoFromFileObject . Per altre informazioni sul formato dei dati restituiti in questo buffer, vedere la sezione Osservazioni.

[in, out] pBufferSize

Puntatore a una variabile tipizzata ULONG contenente le dimensioni, in byte, del buffer a cui punta il parametro pBuffer . Se la routine ha esito positivo, questa variabile riceve le dimensioni, in byte, dei dati restituiti nel buffer.

Valore restituito

La routine FsRtlMupGetProviderInfoFromFileObject restituisce uno dei valori NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
Le informazioni sul redirector di rete sono state restituite correttamente nel buffer a cui punta il parametro pBuffer .
STATUS_INVALID_PARAMETER
Uno dei parametri è NULL o contiene un valore non valido.
STATUS_OBJECT_NAME_NOT_FOUND
L'oggetto file a cui punta il parametro pFileObject non corrisponde a un oggetto file system remoto completamente aperto.
STATUS_BUFFER_TOO_SMALL
La dimensione del buffer a cui punta il parametro pBuffer è troppo piccola per restituire i dati. In questo caso, la variabile a cui punta il parametro pBufferSize riceve le dimensioni richieste, in byte, del buffer.
STATUS_BUFFER_OVERFLOW
Le dimensioni del buffer a cui punta il parametro pBuffer sono troppo piccole per restituire tutti i dati. Sono stati restituiti solo i dati che si adattano al buffer. In questo caso, la variabile a cui punta il parametro pBufferSize riceve le dimensioni richieste, in byte, del buffer.

Commenti

Un driver di filtro del file system può chiamare la routine FsRtlMupGetProviderInfoFromFileObject per ottenere informazioni su un redirector di rete da un oggetto file per un file che si trova in un file system remoto. La quantità di informazioni restituite dalla routine FsRtlMupGetProviderInfoFromFileObject dipende dal valore del parametro Level . Se il parametro Level è impostato su 1, la routine FsRtlMupGetProviderInfoFromFileObject restituisce una struttura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 nel buffer a cui punta il parametro pBuffer . La struttura FSRTL_MUP_PROVIDER_INFO_LEVEL_1 è definita come segue:

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

Se il parametro Level è impostato su 2, la routine FsRtlMupGetProviderInfoFromFileObject restituisce una struttura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 nel buffer a cui punta il parametro pBuffer . La struttura FSRTL_MUP_PROVIDER_INFO_LEVEL_2 è definita come segue:

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 driver di filtro del file system può confrontare rapidamente il valore dell'identificatore del provider con il valore di altri identificatori del provider senza dover eseguire un confronto tra stringhe.

Il valore dell'identificatore del provider UNC per un determinato redirector di rete rimane invariato se il redirector di rete viene scaricato dal sistema e quindi ricaricato nel sistema.

Per ottenere l'identificatore del provider UNC di un redirector di rete dal nome del dispositivo del redirector di rete, un driver di filtro del file system può chiamare la routine FsRtlMupGetProviderIdFromName .

Requisiti

Requisito Valore
Client minimo supportato La funzione FsRtlMupGetProviderInfoFromFileObject è Windows Vista
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

FsRtlMupGetProviderIdFromName