#ifndef _NT_GUID_H_ #define _NT_GUID_H_ #include "nt_abi.h" #include "nt_object.h" typedef struct _nt_guid_str_utf16 { wchar16_t lbrace; wchar16_t group1[8]; wchar16_t dash1; wchar16_t group2[4]; wchar16_t dash2; wchar16_t group3[4]; wchar16_t dash3; wchar16_t group4[4]; wchar16_t dash4; wchar16_t group5[12]; wchar16_t rbrace; } nt_guid_str_utf16, nt_uuid_str_utf16; typedef struct _nt_guid_str_utf8 { uint8_t lbrace; uint8_t group1[8]; uint8_t dash1; uint8_t group2[4]; uint8_t dash2; uint8_t group3[4]; uint8_t dash3; uint8_t group4[4]; uint8_t dash4; uint8_t group5[12]; uint8_t rbrace; uint8_t null; } nt_guid_str_utf8, nt_uuid_str_utf8; typedef void __fastcall ntapi_tt_guid_copy( __out nt_guid * pguid_dst, __in const nt_guid * pguid_src); typedef int32_t __fastcall ntapi_tt_guid_compare( __in const nt_guid * pguid_dst, __in const nt_guid * pguid_src); typedef void __fastcall ntapi_tt_guid_to_string_utf16( __in const nt_guid * guid, __out nt_guid_str_utf16 * guid_str); typedef int32_t __fastcall ntapi_tt_string_to_guid_utf16( __in const nt_guid_str_utf16 * guid_str, __out nt_guid * guid); typedef void __fastcall ntapi_tt_guid_to_string_utf8( __in const nt_guid * guid, __out nt_guid_str_utf8 * guid_str); typedef int32_t __fastcall ntapi_tt_string_to_guid_utf8( __in const char * guid_str, __out nt_guid * guid); #endif