summaryrefslogtreecommitdiffhomepage
path: root/src/guid
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-06-24 18:18:29 +0000
committermidipix <writeonce@midipix.org>2020-06-24 20:32:04 +0000
commitfea48d76f9cf1296a19e7b0b863f163265fad9ac (patch)
tree4a97aad3b70317151f40b8dbb321a48ac72c7747 /src/guid
parent0fda85780bd51c982622f3baf70701d4d032bbc6 (diff)
downloadntapi-fea48d76f9cf1296a19e7b0b863f163265fad9ac.tar.bz2
ntapi-fea48d76f9cf1296a19e7b0b863f163265fad9ac.tar.xz
__ntapi_tt_guid_to_string_utf8(): initial implementation and integration.
Diffstat (limited to 'src/guid')
-rw-r--r--src/guid/ntapi_tt_guid.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/guid/ntapi_tt_guid.c b/src/guid/ntapi_tt_guid.c
index 00628c3..6e8c7c4 100644
--- a/src/guid/ntapi_tt_guid.c
+++ b/src/guid/ntapi_tt_guid.c
@@ -214,3 +214,57 @@ int32_t __fastcall __ntapi_tt_string_to_guid_utf8(
: __ntapi_tt_string_to_guid_utf16(
&guid_str_utf16,guid);
}
+
+void __fastcall __ntapi_tt_guid_to_string_utf8(
+ __in const nt_guid * guid,
+ __out nt_guid_str_utf8 * guid_str)
+{
+ uint16_t key;
+ uint8_t * ch;
+
+ ch = &(guid_str->group5[0]);
+
+ __ntapi_tt_uint32_to_hex_utf8(
+ guid->data1,
+ &guid_str->group1[0]);
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ guid->data2,
+ &guid_str->group2[0]);
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ guid->data3,
+ &guid_str->group3[0]);
+
+ key = guid->data4[0] * 0x100 + guid->data4[1];
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ key,
+ &guid_str->group4[0]);
+
+ key = guid->data4[2] * 0x100 + guid->data4[3];
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ key,
+ &guid_str->group5[0]);
+
+ key = guid->data4[4] * 0x100 + guid->data4[5];
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ key,
+ &(ch[4]));
+
+ key = guid->data4[6] * 0x100 + guid->data4[7];
+
+ __ntapi_tt_uint16_to_hex_utf8(
+ key,
+ &(ch[8]));
+
+ guid_str->lbrace = '{';
+ guid_str->rbrace = '}';
+ guid_str->dash1 = '-';
+ guid_str->dash2 = '-';
+ guid_str->dash3 = '-';
+ guid_str->dash4 = '-';
+ guid_str->null = 0;
+}