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 | Sì |
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) | Sì |
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) |