Конференция "WinAPI" » NtQuerySystemInformation [D7]
 
  • Rouse_ © (14.10.08 14:15) [20]

    > А это откуда ?

    W2K sources ;)
  • Riply © (14.10.08 14:27) [21]
    > [20] Rouse_ ©   (14.10.08 14:15)
    > W2K sources ;)

    Это уже серьезней :) У меня их, к сожалению, нет.
    Там так и говорится, что это все возможные коды,
    или что это возможные коды ?
    Или ты просто посмотрел реализацию самой NtQuerySystemInformation ?
  • Rouse_ © (14.10.08 14:41) [22]

    > Там так и говорится, что это все возможные коды

    Да


    > Или ты просто посмотрел реализацию самой NtQuerySystemInformation ?

    Да, только там на SystemPathInformation, SystemCallTimeInformation возвращает еще STATUS_NOT_IMPLEMENTED

    на SystemSessionProcessInformation может вернуть STATUS_DATATYPE_MISALIGNMENT

    на SystemCrashDumpInformation может вернуть STATUS_ACCESS_DENIED

    Но эти флаги не документированы, так что...
  • Riply © (14.10.08 15:14) [23]
    >  [22] Rouse_ ©   (14.10.08 14:41)

    Я тоже чуть поискала. Пока результаты такие:
    ReactOS-овцы при некоторых INFO классах проверяют на строгое равенство (видела два примера),
    в остальных случаях на NT_SUCCESS. В том числе и для нашего Инфо-класса:
    nErrCode = NtQuerySystemInformation
     (
      SystemProcessesAndThreadsInformation,
      pInfoBuffer,
      nSize,
      NULL
     );

     /* double the buffer size */
     nSize += nSize;
    }
    /* repeat until the buffer is big enough */
    while(nErrCode == STATUS_INFO_LENGTH_MISMATCH);

    /* failure */
    if(!NT_SUCCESS(nErrCode))
    {
     DPRINT(FAILED_WITH_STATUS, "NtQuerySystemInformation", nErrCode);
     return nErrCode;  
    }



    Я понимаю, что в при сравнении с W2K sources, они проигрывают, но это повод задуматься,
    т.к. у них все же пример использования.
    Я еще покапаюсь. Может получится найти подтверждение или опровержение.
  • Rouse_ © (14.10.08 15:47) [24]

    > но это повод задуматься,

    Эмм... понимаешь, я как-бы не говорю что жесткая проверка с нулем есть правильно, макрос NT_SUCCESS стандарт де-факто, но в данном случае он просто избыточен и поэтому проверка на 0 вполне оправдывает себя :)
  • Игорь Шевченко © (15.10.08 00:42) [25]
    Эта...народ, вы учтите, что с момента непатченного W2k чьи обрезанные исходники гуляют по белу свету, прошло довольно много времени и в NtQuery/SetSystemInformation добавлено много новых информационных кодов (ну и статусов вероятно тоже)
  • Riply © (15.10.08 06:23) [26]
    Offtop
    А эти W2k - они большие по объему ?
    Offtop
  • Rouse_ © (15.10.08 09:38) [27]

    > А эти W2k - они большие по объему ?

    200Мб в архиве
  • slow!alfamoon!com (16.10.08 12:46) [28]
    wrk есть, как я уже говорил - это сурсы ядра 2k3sp1
 
Конференция "WinAPI" » NtQuerySystemInformation [D7]
Есть новые Нет новых   [134435   +33][b:0][p:0.001]