Commit 2bb4d245 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

server: Support process object type.

parent 372852a2
...@@ -1560,6 +1560,9 @@ static void test_query_object(void) ...@@ -1560,6 +1560,9 @@ static void test_query_object(void)
pNtClose( handle ); pNtClose( handle );
} }
pRtlFreeUnicodeString( &session ); pRtlFreeUnicodeString( &session );
test_object_type( GetCurrentProcess(), "Process" );
test_no_file_info( GetCurrentProcess() );
} }
static void test_type_mismatch(void) static void test_type_mismatch(void)
......
...@@ -60,6 +60,7 @@ static int shutdown_stage; /* current stage in the shutdown process */ ...@@ -60,6 +60,7 @@ static int shutdown_stage; /* current stage in the shutdown process */
/* process operations */ /* process operations */
static void process_dump( struct object *obj, int verbose ); static void process_dump( struct object *obj, int verbose );
static struct object_type *process_get_type( struct object *obj );
static int process_signaled( struct object *obj, struct wait_queue_entry *entry ); static int process_signaled( struct object *obj, struct wait_queue_entry *entry );
static unsigned int process_map_access( struct object *obj, unsigned int access ); static unsigned int process_map_access( struct object *obj, unsigned int access );
static void process_poll_event( struct fd *fd, int event ); static void process_poll_event( struct fd *fd, int event );
...@@ -70,7 +71,7 @@ static const struct object_ops process_ops = ...@@ -70,7 +71,7 @@ static const struct object_ops process_ops =
{ {
sizeof(struct process), /* size */ sizeof(struct process), /* size */
process_dump, /* dump */ process_dump, /* dump */
no_get_type, /* get_type */ process_get_type, /* get_type */
add_queue, /* add_queue */ add_queue, /* add_queue */
remove_queue, /* remove_queue */ remove_queue, /* remove_queue */
process_signaled, /* signaled */ process_signaled, /* signaled */
...@@ -630,6 +631,13 @@ static void process_dump( struct object *obj, int verbose ) ...@@ -630,6 +631,13 @@ static void process_dump( struct object *obj, int verbose )
fprintf( stderr, "Process id=%04x handles=%p\n", process->id, process->handles ); fprintf( stderr, "Process id=%04x handles=%p\n", process->id, process->handles );
} }
static struct object_type *process_get_type( struct object *obj )
{
static const WCHAR name[] = {'P','r','o','c','e','s','s'};
static const struct unicode_str str = { name, sizeof(name) };
return get_object_type( &str );
}
static int process_signaled( struct object *obj, struct wait_queue_entry *entry ) static int process_signaled( struct object *obj, struct wait_queue_entry *entry )
{ {
struct process *process = (struct process *)obj; struct process *process = (struct process *)obj;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment