Здравствуйте, Lucky_Devil, Вы писали:
[skip]
З>>Если вы уверенны что это переполнение стека ядра (проверряется с помощью отладчика), то как минимум это минимизировать свои локальные переменные (тоесть убрать у себя определение вида WCHAR FileName[MAX_PATH]
и все выделять из
З>>(non)PagedPool.
L_D>Да так и есть, использую именно WCHAR FileName[MAX_PATH], выделение из (non)PagedPool действительно может помочь?
L_D>просто, я стал замечать, что количество отказов в веделение не страничной памяти достаточно высока, блакого можно заново заставить системы сгенерировать запрос и молиться что на этот раз памяти будет более чем достаточно.
Отказ на выделение памяти из странично или нестраничног пула (это скорее всего имеем большие утечки).
Мало можно найти софта которые должен 'очень старатся' продолжать жить на такой системе.
L_D>Еще вопрос, если мне не удасться зполучить память под мою переменную, с каким статусом мне завершить IRP_MJ_SET_INFORMATION пакет, с STATUS_INSUFFICIENT_RESOURCES будет правильно?
Как минимум это завист от FileInformationClass. Точно ответа я не знаю (что-бы не брать на себя ответственность

Но в принципе вернуть можно любую ошибку (но вот как поведет себя система — только экперимент поможет вам)
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.