Funzione FsRtlKernelFsControlFile (ntifs.h)
La funzione FsRtlKernelFsControlFile
Sintassi
NTSTATUS FsRtlKernelFsControlFile(
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[out] ULONG OutputBufferLength,
[out] PULONG RetOutputBufferSize
);
Parametri
[in] FileObject
Puntatore al FILE_OBJECT per inviare l'operazione.
[in] FsControlCode
FSCTL_XXX codice che indica quale operazione di controllo del file system deve essere eseguita. Il valore di questo parametro determina i formati e le lunghezze necessarie del InputBuffer e OutputBuffer, nonché quali delle coppie di parametri seguenti sono necessarie. Per informazioni dettagliate sui codici di FSCTL_XXX definiti dal sistema, vedere la sezione "Osservazioni" della voce di riferimento per DeviceIoControl nella documentazione di Microsoft Windows SDK.
[in] InputBuffer
Puntatore a un buffer di input allocato dal chiamante che contiene informazioni specifiche del dispositivo da assegnare al driver di destinazione. Se FsControlCode specifica un'operazione che non richiede dati di input, questo puntatore è facoltativo e può essere NULL. Si noti che questo buffer potrebbe essere modificato al momento della restituzione e il chiamante deve adattarsi a questo. Questo perché questo buffer potrebbe essere usato per contenere i dati di output.
[in] InputBufferLength
Lunghezza del InputBuffer
[out] OutputBuffer
Puntatore a un buffer di output allocato dal chiamante in cui le informazioni vengono restituite dal driver di destinazione. Se FsControlCode specifica un'operazione che non produce dati di output, questo puntatore è facoltativo e può essere NULL.
[out] OutputBufferLength
Lunghezza del OutputBuffer
[out] RetOutputBufferSize
Riceve il numero di byte effettivamente scritti (restituiti) nel buffer di output.
Valore restituito
FsRtlKernelFsControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti.
Valore | Significato |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Si è verificato un errore di allocazione del pool. |
STATUS_INVALID_PARAMETER | È stato specificato un parametro non valido, ad esempio un FileObject non valido). |
Osservazioni
FsRtlKernelFsControlFile imposta il codice secondario IRP_MN_KERNEL_CALL che consente di eseguire operazioni senza richiedere la gestione dei privilegi di volume per determinate operazioni.
Questa funzione presuppone che tutti i buffer passati siano buffer in modalità kernel.
Fabbisogno
Requisito | Valore |
---|---|
intestazione |
ntifs.h |