summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-07-30 21:21:21 +0000
committermidipix <writeonce@midipix.org>2017-07-31 08:43:34 -0400
commit661c276ff61cf93a40829a9c120e1c6690c2ca2e (patch)
tree5133a3cb33f7b25ce555e70c8373f518d0cfc7e6 /include
parent4a2e495c3aae5ba119844ba689c1eb282c1f49a8 (diff)
downloadntapi-661c276ff61cf93a40829a9c120e1c6690c2ca2e.tar.bz2
ntapi-661c276ff61cf93a40829a9c120e1c6690c2ca2e.tar.xz
subsystem interfaces: integrated ipc object directory handlers.
Diffstat (limited to 'include')
-rw-r--r--include/ntapi/nt_object.h29
-rw-r--r--include/ntapi/ntapi.h2
2 files changed, 31 insertions, 0 deletions
diff --git a/include/ntapi/nt_object.h b/include/ntapi/nt_object.h
index 68aa6a5..1dad1d8 100644
--- a/include/ntapi/nt_object.h
+++ b/include/ntapi/nt_object.h
@@ -378,12 +378,27 @@ typedef struct _nt_directory_basic_information {
} nt_directory_basic_information;
+typedef struct _nt_ipc_object_directory_guid {
+ wchar16_t uscore_guid;
+ wchar16_t pgrp_guid[36];
+} nt_ipc_object_directory_guid, nt_ipc_objdir_guid;
+
+
+typedef struct _nt_ipc_object_directory_name {
+ wchar16_t base_named_objects[17];
+ wchar16_t backslash;
+ wchar16_t prefix[6];
+ nt_ipc_objdir_guid objdir_guid;
+} nt_ipc_object_directory_name, nt_ipc_objdir_name;
+
+
typedef struct _nt_keyed_object_directory_guid {
wchar16_t uscore_guid;
wchar16_t pgrp_guid[36];
wchar16_t uscore_key;
} nt_keyed_object_directory_guid, nt_keyed_objdir_guid;
+
typedef struct _nt_keyed_object_directory_name {
wchar16_t base_named_objects[17];
wchar16_t backslash;
@@ -489,6 +504,20 @@ typedef int32_t __stdcall ntapi_zw_query_symbolic_link_object(
__out size_t * returned_length);
/* extension functions */
+typedef int32_t __stdcall ntapi_tt_open_ipc_object_directory(
+ __out void ** hdir,
+ __in uint32_t desired_access,
+ __in const wchar16_t prefix[6],
+ __in nt_guid * guid);
+
+typedef int32_t __stdcall ntapi_tt_create_ipc_object_directory_entry(
+ __out void ** hentry,
+ __in uint32_t desired_access,
+ __in void * hdir,
+ __in void * htarget,
+ __in nt_unicode_string * target_name,
+ __in uint32_t key);
+
typedef int32_t __stdcall ntapi_tt_create_keyed_object_directory(
__out void ** hdir,
__in uint32_t desired_access,
diff --git a/include/ntapi/ntapi.h b/include/ntapi/ntapi.h
index 5aa97bd..bf066bd 100644
--- a/include/ntapi/ntapi.h
+++ b/include/ntapi/ntapi.h
@@ -366,6 +366,8 @@ typedef struct _ntapi_vtbl {
/* extension functions */
/* nt_object.h */
+ ntapi_tt_open_ipc_object_directory * tt_open_ipc_object_directory;
+ ntapi_tt_create_ipc_object_directory_entry * tt_create_ipc_object_directory_entry;
ntapi_tt_create_keyed_object_directory * tt_create_keyed_object_directory;
ntapi_tt_open_keyed_object_directory * tt_open_keyed_object_directory;
ntapi_tt_create_keyed_object_directory_entry * tt_create_keyed_object_directory_entry;