Где определен SystemHandleInformation (enum SYSTEM_INFORMATION_CLASS)

Тема в разделе "WASM.BEGINNERS", создана пользователем simnet_, 5 фев 2010.

  1. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Подскажите, в каком заголовочном файле из DDK находится SystemHandleInformationEx. Странно, но даже в гугле информации не смог найти (мне достаточно числового кода этой константы).

    Также не смог найти прототипа ZwGetSystemInformation. У меня неполный набор DDK? Или эту функцию уже убрали из последнего набора, как устаревшую?

    Спасибо
     
  2. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Извините, ошибся. Имел ввиду ZwQuerySystemInformation
    В локальной версии msdn информации по ней нет, но в онлайн-версии написано, что
    А как это сделать в ядре? Достаточно ли просто определить прототип в своем заголовочном файле (ну и все структуры, которых я так и не смог найти)?
    Может у кого-то найдется более полный файл с определением структур и enum'ов, используемых в этой функции?
    Еще раз благодарю :)
     
  3. Psionic

    Psionic Member

    Публикаций:
    0
    Регистрация:
    25 сен 2008
    Сообщения:
    156
    Ну тогда не обязательно искать заголовочный файл, главное знать тип и количество аргументов, а потом обьявить вызов в самом листинге.
     
  4. Psionic

    Psionic Member

    Публикаций:
    0
    Регистрация:
    25 сен 2008
    Сообщения:
    156
    Вот пример:
    Код (Text):
    1. #include "stdafx.h"
    2.  
    3. extern "C" int __stdcall MessageBoxA(int,char[],char[],int);
    4. void main()
    5. {
    6.     MessageBoxA(0,"Text1","Text2",0);
    7.  
    8. }
    Все работает и без заголовочного файла, правда статическую библиотеку придется всеже подключить.
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    ntexapi.h
    Код (Text):
    1. ; SystemHandleInformation = 16
    2. ;
    3. typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO {
    4.     USHORT UniqueProcessId;
    5.     USHORT CreatorBackTraceIndex;
    6.     UCHAR ObjectTypeIndex;
    7.     UCHAR HandleAttributes;
    8.     USHORT HandleValue;
    9.     PVOID Object;
    10.     ULONG GrantedAccess;
    11. } SYSTEM_HANDLE_TABLE_ENTRY_INFO, *PSYSTEM_HANDLE_TABLE_ENTRY_INFO;
    12.  
    13. typedef struct _SYSTEM_HANDLE_INFORMATION {
    14.     ULONG NumberOfHandles;
    15.     SYSTEM_HANDLE_TABLE_ENTRY_INFO Handles[ 1 ];
    16. } SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
    17.  
    18. ; SystemExtendedHandleInformation = 64
    19. ;
    20. typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX {
    21.     PVOID Object;
    22.     ULONG_PTR UniqueProcessId;
    23.     ULONG_PTR HandleValue;
    24.     ULONG GrantedAccess;
    25.     USHORT CreatorBackTraceIndex;
    26.     USHORT ObjectTypeIndex;
    27.     ULONG  HandleAttributes;
    28.     ULONG  Reserved;
    29. } SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX, *PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX;
    30.  
    31. typedef struct _SYSTEM_HANDLE_INFORMATION_EX {
    32.     ULONG_PTR NumberOfHandles;
    33.     ULONG_PTR Reserved;
    34.     SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles[ 1 ];
    35. } SYSTEM_HANDLE_INFORMATION_EX, *PSYSTEM_HANDLE_INFORMATION_EX;
     
  6. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Clerk
    Спасибо
    И еще такой вопрос - отличаются ли чем-то список параметров ZwQuerySystemInformationEx от документированной ZwQuerySystemInformation?
     
  7. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    имею ввиду, в чем отличие, кроме того, что все структуры с окончанием *_EX
     
  8. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Большое спасибо, вопрос закрыт