#ifndef _NT_ATOM_H_ #define _NT_ATOM_H_ #include "nt_abi.h" typedef enum _nt_atom_info_class { NT_ATOM_BASIC_INFORMATION, NT_ATOM_LIST_INFORMATION } nt_atom_info_class; typedef uint16_t nt_atom; typedef struct _nt_atom_basic_information { uint16_t reference_count; uint16_t pinned; uint16_t name_length; wchar16_t name[]; } nt_atom_basic_information; typedef struct _nt_atom_list_information { uint32_t number_of_atoms; nt_atom atoms[2]; } nt_atom_list_information; typedef int32_t __stdcall ntapi_zw_add_atom( __in wchar16_t str, __in uint16_t str_length, __out uint16_t * atom); typedef int32_t __stdcall ntapi_zw_find_atom( __in wchar16_t str, __in uint16_t str_length, __out uint16_t * atom); typedef int32_t __stdcall ntapi_zw_delete_atom( __in uint16_t * atom); typedef int32_t __stdcall ntapi_zw_query_information_atom( __in uint16_t * atom, __in nt_atom_info_class atom_info_class, __out void * atom_info, __in uint32_t atom_info_length, __out uint32_t * returned_length __optional); #endif