ZwQueryDirectoryFile возобновление - PullRequest
1 голос
/ 21 мая 2011

Если мне нужно просканировать папку, содержащую большое количество сущностей, то я буду называть ZwQueryDirectoryFile api (мне это нужно с уровня Nt) ... фаза файла за фазой, выделяя буфер размером 4096. Это обычное использование. За исключением первого раза, каждый раз, когда я выполняю свою работу, мне нужно сохранить параметр restartscan как NULL. Мне нужно знать его внутренности. Как второй вызов ZwQueryDirectoryFile возобновляет выборку из нужного места. как eindex поставляется или хранится для правильного возобновления работы.

1 Ответ

2 голосов
/ 21 мая 2011

Из документации :

Когда для определенного дескриптора вызывается процедура ZwQueryDirectoryFile, параметр RestartScan обрабатывается так, как если бы он был установлен в значение ИСТИНА, независимо от его значения. При последующих вызовах ZwQueryDirectoryFile значение параметра RestartScan учитывается.

Из этого можно сделать вывод, что состояние перечисления каким-либо образом связано с дескриптором файла.

...