Re: sparse-files

From
Alex Fedotov ()
To
Pavel Pahomov ()
Date
2001-11-07T11:26:39Z
Area
SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <me@alexfedotov.com>

Pavel Pahomov wrote:

>  AF> что ребята из Microsoft mess up с константой FSCTL_SET_SPARSE в
>  AF> разных версиях Platform SDK. У меня она определена как
>
>  AF> #define FSCTL_SET_SPARSE   \
>  AF>     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED,
>  AF> FILE_SPECIAL_ACCESS)
>
> А у меня как
>
> #define FSCTL_SET_SPARSE                CTL_CODE(FILE_DEVICE_FILE_SYSTEM,
>  49, METHOD_BUFFERED, FILE_WRITE_DATA)
>
> Причем прописывание руками твоего варианта показало, что
> FILE_SPECIAL_ACCESS мы вообще не знаем. :) Поставил туда FILE_ANY_ACCESS -
> срабатывает нормально, вроде. Но теперь не работает FSCTL_SET_ZERO_DATA.
> Завтра буду копать дальше.

FILE_SPECIAL_ACCESS определен как (сюрприз-сюрприз)

#define FILE_SPECIAL_ACCESS    (FILE_ANY_ACCESS)

Что касается FSCTL_SET_ZERO_DATA, то это

#define FSCTL_SET_ZERO_DATA \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA)

и, заодно,

#define FSCTL_QUERY_ALLOCATED_RANGES \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51,  METHOD_NEITHER, FILE_READ_DATA)

Успехов.

> ps: у меня стоит VС++6 без сервиспаков, может, в этом все дело? У тебя что
> стоит?

Последний Platform SDK, чего и тебе желаю.

-- Alex Fedotov

--- ifmail v.2.15dev5
 * Origin: Undisclosed (2:5020/400)