Delen via


FSCTL_OFFLOAD_READ besturingscode

De FSCTL_OFFLOAD_READ controlecode initieert een offload voor een blok gegevens in een opslagsysteem dat offload leesprimitief ondersteunt.

Als u deze bewerking wilt uitvoeren, roept u FltFsControlFile of ZwFsControlFile aan met de volgende parameters.

Parameterwaarden

  • Instantie [in]: alleen FltFsControlFile . Een ondoorzichtige instantieaanwijzer voor de aanroeper. Deze parameter is vereist en kan niet NULL zijn.

  • FileObject [in]: alleen FltFsControlFile . Het bestandspointerobject waarmee het bestand wordt opgegeven waaruit moet worden gelezen. Deze parameter is vereist en kan niet NULL zijn.

  • FileHandle [in]: Alleen ZwFsControlFile . De bestandsgreep van het bestand waaruit moet worden gelezen. Deze parameter is vereist en kan niet NULL zijn.

  • FsControlCode [in]: de besturingscode voor de bewerking. Gebruik FSCTL_OFFLOAD_READ voor deze bewerking.

  • InputBuffer [in]: een aanwijzer naar een FSCTL_OFFLOAD_READ_INPUT structuur, die de grootte en verschuiving van een gegevensblok bevat dat moet worden gelezen.

  • InputBufferLength [in]: de grootte, in bytes, van de buffer die door InputBuffer wordt verwezen. Deze waarde is groottevan(FSCTL_OFFLOAD_READ_INPUT).

  • OutputBuffer [out]: een aanwijzer naar een FSCTL_OFFLOAD_READ_OUTPUT structuur, die de resultaten van de offload-leesbewerking ontvangt.

  • OutputBufferLength [out]: de grootte, in bytes, van de buffer die door de parameter OutputBuffer wordt verwezen. Deze waarde moet ten minste een grootte hebben (FSCTL_OFFLOAD_READ_OUTPUT).

Statusblok

FltFsControlFile of ZwFsControlFile retourneert STATUS_SUCCESS als de bewerking is geslaagd. Anders kan de juiste functie een van de volgende NTSTATUS-waarden retourneren.

Code Meaning
STATUS_INVALID_DEVICE_REQUEST De opgegeven ingang is geen geldige bestandsingang
STATUS_INVALID_PARAMETER Een parameter is ongeldig. Zie opmerkingen.
STATUS_VOLUME_DISMOUNTED Het bestandssysteemvolume is ontkoppeld.
STATUS_NOT_SUPPORTED Offload-leesbewerkingen worden niet ondersteund op dit volume.
STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED Het aangevraagde bestandstype wordt niet ondersteund. Offloadbewerkingen worden niet ondersteund voor deze bestandstypen: een transacted bestand (TxF); Bestanden die geen gebruiker zijn; Gecomprimeerde bestanden; Versleutelde bestanden; Sparsebestanden; NTFS Metatdata-bestanden.
STATUS_FILE_DELETED De gegevensstroom voor dit bestand is ongeldig.
STATUS_FILE_CLOSED De bestandsingang is gesloten.
STATUS_INVALID_HANDLE De opgegeven bestandsgreep is ongeldig.
STATUS_FILE_LOCK_CONFLICT Onvoldoende leestoegang vanwege de huidige vergrendelingsstatus van bestanden.
STATUS_END_OF_FILE Het lid FileOffset van FSCTL_OFFLOAD_READ_INPUT begint na einde van bestand (EOF).
STATUS_DISMOUNTED_VOLUME Een offloadleesbewerking kan niet plaatsvinden op een ontkoppeld volume.
STATUS_INSUFFICIENT_RESOURCES Er zijn onvoldoende resources beschikbaar om de aanvraag te voltooien.
STATUS_BUFFER_TOO_SMALL OutputBufferLength is te klein voor OutputBuffer om een FSCTL_OFFLOAD_READ_OUTPUT structuur te ontvangen.

Opmerkingen

Offload lezen is alleen beschikbaar voor normale bestanden. Zie de beschrijving voor STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED voor een lijst met niet-ondersteunde bestandstypen.

Het is mogelijk dat leesbewerkingen verder gaan dan de Geldige Gegevenslengte (VDL), maar niet buiten EOF.

Wanneer STATUS_INVALID_PARAMETER wordt geretourneerd, kan de fout een van de volgende ongeldige parameters zijn:

  • De bestandsgrootte is kleiner dan PAGE_SIZE.
  • InputBufferLength<sizeof(FSCTL_OFFLOAD_READ_INPUT).
  • Een of meer van deze leden van FSCTL_OFFLOAD_READ_INPUT zijn onjuist:
    • FileOffset is geen veelvoud van de grootte van de logische sector van het volume.
    • CopyLength is geen veelvoud van de grootte van de logische sector van het volume.
    • Grootte is niet de grootte van de FSCTL_OFFLOAD_READ_INPUT structuur.
    • FileOffset + CopyLength>MAXULONGLONG.

Requirements

Vereiste type Requirement
Minimaal ondersteunde client Windows 8
Header Ntifs.h (inclusief Ntifs.h of Fltkernel.h)

Zie ook

FltFsControlFile

ZwFsControlFile

FSCTL_OFFLOAD_READ_INPUT

FSCTL_OFFLOAD_READ_OUTPUT