sparse-files

From
Pavel Pahomov (2:5090/120)
To
All ()
Date
2001-11-03T16:56:26Z
Area
SU.WINDOWS.NT.PROG
Имеем такой кусок кода:

- ---──── Windows Clipboard ───----
    HANDLE han = CreateFile(argv[2], GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
      FILE_ATTRIBUTE_NORMAL, NULL);
    if(han == INVALID_HANDLE_VALUE)
      {
      printf("Can't create [%s]\n\n", argv[2]);
      return 1;
      }

    DWORD lpbr = 0;
    BOOL oks = DeviceIoControl(han, FSCTL_SET_SPARSE, NULL, 0, NULL, 0,
                  &lpbr, NULL);
    if(!oks)
      {
      puts("Can't create sparse-file\n");
      DWORD le = GetLastError();
      return 1;
      }
- ---──── Windows Clipboard ───----

В результате имеем le = 1, то есть (по MSDN):
-----------------------------------------------
1 Incorrect function.  ERROR_INVALID_FUNCTION
-----------------------------------------------

Кто-нибудь может объяснить, в чем тут косяк?

ps: создание файла отрабатывает без ошибок.

   : yчyсь мyдpости y тишины...
--- ─── Windows Clipboard ───----
 * Origin: Feanor's Palace, тел. 215925, 00:00-06:00 (2:5090/120)