compress.c

来自「一个类似windows」· C语言 代码 · 共 50 行

C
50
字号
/* $Id: compress.c 21259 2006-03-08 23:18:27Z audit $
 *
 * COPYING:	See the top level directory
 * PROJECT:	ReactOS 
 * FILE:	reactos/lib/fmifs/compress.c
 * DESCRIPTION:	File management IFS utility functions
 * PROGRAMMER:	Emanuele Aliberti
 * UPDATED
 * 	1999-02-16 (Emanuele Aliberti)
 * 		Entry points added.
 */
#include "precomp.h"

/*
 * @implemented
 */
BOOL STDCALL
EnableVolumeCompression (PWCHAR DriveRoot,
			 USHORT Compression)
{
  HANDLE hFile = CreateFileW(DriveRoot,
                             FILE_READ_DATA | FILE_WRITE_DATA,
                             FILE_SHARE_READ | FILE_SHARE_WRITE,
                             NULL,
                             OPEN_EXISTING,
                             FILE_FLAG_BACKUP_SEMANTICS,
                             NULL);
  
  if(hFile != INVALID_HANDLE_VALUE)
  {
    DWORD RetBytes;
    BOOL Ret = DeviceIoControl(hFile,
                               FSCTL_SET_COMPRESSION,
                               &Compression,
                               sizeof(USHORT),
                               NULL,
                               0,
                               &RetBytes,
                               NULL);

    CloseHandle(hFile);

    return (Ret != 0);
  }
  
  return FALSE;
}

/* EOF */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?