Share via


FSCTL_GET_COMPRESSION IOCTL (winioctl.h)

Recupera lo stato di compressione corrente di un file o di una directory in un volume il cui file system supporta la compressione per flusso.

Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.

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
);

Commenti

L'algoritmo di compressione LZNT1 è l'unico algoritmo di compressione implementato.

COMPRESSION_FORMAT_DEFAULT non è uno stato di compressione, pertanto non è incluso nella tabella nel parametro lpOutBuffer . Questo valore viene usato solo con il codice di controllo FSCTL_SET_COMPRESSION .

Se il file system del volume contenente il file o la directory specificata non supporta la compressione per file o per directory, l'operazione non riesce.

È possibile impostare lo stato di compressione di un file o di una directory usando il codice di controllo FSCTL_SET_COMPRESSION . È anche possibile comprimere o decomprimere un file usando questo codice di controllo.

È possibile recuperare l'attributo di compressione di un file o di una directory chiamando la funzione GetFileAttributes . L'attributo di compressione indica se un file o una directory è compresso. Lo stato di compressione indica se un file o una directory è compresso e, in caso affermativo, il formato dei dati compressi.

In Windows 8 e Windows Server 2012 questo codice è supportato dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) No
File system del volume condiviso cluster (CsvFS)
Resilient File System (ReFS) No

SMB 3.0 Transparent Failover e Scale-Out non supportano i file compressi NTFS. La chiamata MDFTL non è bloccata, ma non supportata.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winioctl.h (include Windows.h)

Vedi anche