Вопрос по ZwCreateFile

Тема в разделе "WASM.NT.KERNEL", создана пользователем prus, 1 мар 2008.

  1. prus

    prus New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    92
    Скажите плз...
    ZwCreateFile вызывается последовательно, если я буду копировать файлы одновременно в два (или больше) разных места?
     
  2. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    )))
    В мире всё относительно
     
  3. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Зависит от типа вызова. Если ассинхронный то закончиться могу и не последовательно, но вызовутся-то точно последовательно...
     
  4. prus

    prus New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    92
    Смысл вопроса такой...
    Я подменил ZwCreateFile и в новой NewZwCreateFile обращаюсь к глобальному массиву (записываю туда, очищаю, считываю). Доступ к этому массиву атомарным не делаю. Вот и думаю, может ли произойти страшное?

    Код (Text):
    1. CHAR g_chBuffer[...];
    2.  
    3. .....
    4.  
    5. NTSTATUS NewZwCreateFile(...) {
    6.  
    7. .....
    8.  
    9.      if( что-то ) {
    10.           RtlZeroMemory(g_chBuffer, ...);
    11.      }
    12.      else if( что-то ) {
    13.           RtlCopyMemory(g_chBuffer, ...);
    14.      }
    15.      else if( что-то ) {
    16.           RtlCompareMemory(g_chBuffer, ...);
    17.      }
    18.  
    19. .....
    20.  
    21. }
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    а не проще перестраховаться и сделать?)
     
  6. prus

    prus New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    92
    Great
    Так и поступлю :)