Funzione KsWriteFile (ks.h)
La funzione KsWriteFile esegue una scrittura sull'oggetto file specificato. Si presuppone che il chiamante serializzi l'accesso al file per le operazioni su un oggetto file FO_SYNCHRONOUS_IO. La funzione tenta di usare FastIoDispatch , se possibile, oppure genera una richiesta di scrittura sull'oggetto dispositivo. Tutte le statistiche pertinenti vengono aggiornate.
Sintassi
KSDDKAPI NTSTATUS KsWriteFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length,
[in, optional] ULONG Key,
[in] KPROCESSOR_MODE RequestorMode
);
Parametri
[in] FileObject
Specifica l'oggetto file su cui eseguire la lettura.
[in, optional] Event
Facoltativamente, contiene l'evento da usare nella scrittura. Se non viene passato alcun evento, si presuppone che la chiamata sia in un oggetto file sincrono o che il chiamante sia in attesa dell'evento dell'oggetto file. Se la chiamata non è in un oggetto file sincrono, può essere completata in modo asincrono. Se il file è stato aperto per operazioni di I/O sincrone, questa variabile deve essere NULL. Se questa variabile viene usata, deve essere un evento allocato dal gestore oggetti.
[in, optional] PortContext
Facoltativamente, contiene informazioni di contesto per una porta di completamento.
[out] IoStatusBlock
Indica la posizione in cui restituire le informazioni sullo stato. Si presuppone sempre che sia un indirizzo valido, indipendentemente dalla modalità richiedente.
[in] Buffer
Specifica il buffer da cui scrivere i dati. Se il buffer deve essere probed e bloccato, viene usato un gestore di eccezioni, insieme a RequesterMode.
[in] Length
Specifica le dimensioni del buffer passato.
[in, optional] Key
Facoltativamente, contiene una chiave o zero se nessuno.
[in] RequestorMode
Indica la modalità processore da inserire nell'IRP di lettura se è necessario generare un'applicazione. Viene inoltre usato se è necessario eseguire il probe e il blocco di un buffer. Questa variabile determina anche se è possibile eseguire una chiamata di I/O veloce. Se la modalità del richiedente non è KernelMode, ma la modalità precedente era, non è possibile usare le I/O veloci.
Valore restituito
La funzione KsWriteFile restituisce STATUS_SUCCESS se ha esito positivo, STATUS_PENDING se l'azione è in sospeso o restituisce un errore di lettura se non riesce.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ks.h (include Ks.h) |
Libreria | Ks.lib |