Condividi tramite


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