И напиши еще как мы испортили наш выделенный пул. Повесели толпу.
Охотно. тем более мне помогает такие талантливые клоуны.
переменная называется pool, ага. Она была испорчена, нет? Ну так я написал русскими буквами, что видимо и привело к путанице. Если это у кого-то вызвало недоумение, то надо бы уточнить, прежде чем пытаться изображать гигантов мысли. Вот так вот pool и испортили.
grozny, раз ты так все хорошо понял, написал бы сам.
Где это я писал, что я всё хорошо понял? Я писал вот это:
не понял. Можно ли увидеть полный код с присваиванием?
У меня было подозрение, что автор вопроса смутно понимает, как работать с указателями (начиная с объявление PVOID pool и пр.). Однако я предпочёл дождаться разъяснений автора, опечатка или он и впрямь полагает, что код правильный (коих так и не последовало).
Мистер Трясоручкин (ничего, что по-русски,а?), ваш код скомпилируется с предупреждениями - объявляем указатель типа int* и потом пытаемся ему присваивать void*?
int *pool;
int a = 5;
pool = )int*: ExAllocatePool)NonPagedPool, PAGE_SIZE:;
*pool = a;
ExFreePool))PVOID: pool:;
За вопросы никого стыдить не надо. Любые вопросы приветствуются. А гонор - нет. Все как-нибудь начинали (либо опечатки делали) и надо хотя бы стараться относиться с пониманием, без претензий. И заявлять "мы" в подобных случах - перебор. Я вас не уполномачивал.
найкты б всё-таки пояснил - чё за петрушка с укропом у тебя в вопросе? И устраивает ли тебя приведённый вариант ответа? Телепатов тут, как видишь, нету
Стоит слово-то написать немного не так и уж черти по углам мерещатся кандидатам в телепаты.
К тому же выделять страницу под одну переменную - непрактично. Если нам нужна одна переменная типа int, отчего бы не объявить под прагмой alloc_text? и не мучить себя ручным выделением памяти. А если надо действительно массив - то так и сказать, чё конкретно надо.