FSCTL_GET_COMPRESSION IOCTL (winioctl.h)

Hiermit wird der aktuelle Komprimierungsstatus einer Datei oder eines Verzeichnisses auf einem Volume abgerufen, deren bzw. dessen Dateisystem die Komprimierung pro Datenstrom unterstützt.

Um diesen Vorgang auszuführen, rufen Sie die Funktion DeviceIoControl mit den folgenden Parametern auf.

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to file
  FSCTL_GET_COMPRESSION,        // dwIoControlCode
  NULL,                         // lpInBuffer 
  0,                            // nInBufferSize
  (LPVOID) lpOutBuffer,         // output buffer
  (DWORD) nOutBufferSize,       // size of output buffer
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

Hinweise

Der Komprimierungsalgorithmus LZNT1 ist der einzige Komprimierungsalgorithmus, der implementiert wurde.

COMPRESSION_FORMAT_DEFAULT ist kein Komprimierungszustand, sodass er nicht in der Tabelle unter dem lpOutBuffer-Parameter enthalten ist. Dieser Wert wird nur mit dem FSCTL_SET_COMPRESSION-Steuerelementcode verwendet.

Wenn das Dateisystem des Volumes, das die angegebene Datei oder das angegebene Verzeichnis enthält, keine Datei- oder Verzeichniskomprimierung unterstützt, schlägt der Vorgang fehl.

Sie können den Komprimierungsstatus einer Datei oder eines Verzeichnisses mithilfe des FSCTL_SET_COMPRESSION-Steuerelementcodes festlegen. Sie können eine Datei auch mithilfe dieses Steuerelementcodes komprimieren oder dekomprimieren.

Sie können das Komprimierungsattribut einer Datei oder eines Verzeichnisses abrufen, indem Sie die GetFileAttributes-Funktion aufrufen. Das Komprimierungsattribut gibt an, ob eine Datei oder ein Verzeichnis komprimiert ist. Der Komprimierungszustand gibt an, ob eine Datei oder ein Verzeichnis komprimiert ist, und, wenn es sich um das Format der komprimierten Daten handelt.

In Windows 8 und Windows Server 2012 wird dieser Code von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) No
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) No

SMB 3.0 Transparent Failover und Scale-Out unterstützen keine komprimierten NTFS-Dateien. Der FSCTL-Aufruf wird nicht blockiert, aber nicht unterstützt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winioctl.h (windows.h einschließen)

Weitere Informationen