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 |
---|---|
|
Le informazioni sul redirector di rete sono state restituite correttamente nel buffer a cui punta il parametro pBuffer . |
|
Uno dei parametri è NULL o contiene un valore non valido. |
|
L'oggetto file a cui punta il parametro pFileObject non corrisponde a un oggetto file system remoto completamente aperto. |
|
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. |
|
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 |