Удаление системных файлов Windows Vista

Тема в разделе "WASM.WIN32", создана пользователем vg, 13 окт 2008.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Хотелось бы уяснить ещё одну вещю.

    Почему в качестве buf нельзя использовать просто buf[1024]:BYTE (или другой необходимый размер), а нужно выделять память через GlobalAlloc? Буфер должен быть обязательно точно равен информации запрашиваемой во втором параметре? Где это сказано? Почему?

    MSDN
    ?
    Мне казалось, что главное, чтобы размер буфера не был меньше требуемого.
    Или почему нельзя так buf:TOKEN_USER?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    vg
    Про сохранение EBX.
    Под wind'ой принято сохранять и восстанавливать регистры EBX, EDI, ESI и EBP на время работы своего кода, разумеется, если свой код их использует.

    Почему в качестве buf нельзя использовать просто buf[1024]:BYTE (или другой необходимый размер)
    Этого ни кто не утверждал.

    Буфер должен быть обязательно точно равен информации запрашиваемой во втором параметре?
    Не должен.

    Мне казалось, что главное, чтобы размер буфера не был меньше требуемого.
    Верно.

    Или почему нельзя так buf:TOKEN_USER?
    Наверное можно. Но в #24 ты написал, что твоя Vista хочет 36 байт, а не 8.

    Ты все правильно понимаешь. Для меня загадка, почему у тебя не получалось собрать воедино эти факты в коде.

    ps СПАСИБО tylerdurden, решение запосил он, через 12 минут после твоего вопроса.