Commit f208c50c authored by Qian Hong's avatar Qian Hong Committed by Alexandre Julliard

server: Fix type name of File.

parent bdc223ad
...@@ -799,11 +799,11 @@ static void test_query_object(void) ...@@ -799,11 +799,11 @@ static void test_query_object(void)
memset( buffer, 0, sizeof(buffer) ); memset( buffer, 0, sizeof(buffer) );
status = pNtQueryObject( handle, ObjectTypeInformation, buffer, sizeof(buffer), &len ); status = pNtQueryObject( handle, ObjectTypeInformation, buffer, sizeof(buffer), &len );
ok( status == STATUS_SUCCESS, "NtQueryObject failed %x\n", status ); ok( status == STATUS_SUCCESS, "NtQueryObject failed %x\n", status );
todo_wine ok( len > sizeof(OBJECT_TYPE_INFORMATION), "unexpected len %u\n", len ); ok( len > sizeof(OBJECT_TYPE_INFORMATION), "unexpected len %u\n", len );
str = (UNICODE_STRING *)buffer; str = (UNICODE_STRING *)buffer;
expected_len = sizeof(OBJECT_TYPE_INFORMATION) + str->Length + sizeof(WCHAR); expected_len = sizeof(OBJECT_TYPE_INFORMATION) + str->Length + sizeof(WCHAR);
todo_wine ok( len >= expected_len, "unexpected len %u\n", len ); ok( len >= expected_len, "unexpected len %u\n", len );
todo_wine ok( str->Buffer && !memcmp( str->Buffer, type_file, sizeof(type_file) ), ok( str->Buffer && !memcmp( str->Buffer, type_file, sizeof(type_file) ),
"wrong/bad type name %s (%p)\n", wine_dbgstr_w(str->Buffer), str->Buffer ); "wrong/bad type name %s (%p)\n", wine_dbgstr_w(str->Buffer), str->Buffer );
DeleteFileA( file1 ); DeleteFileA( file1 );
pNtClose( handle ); pNtClose( handle );
......
...@@ -64,6 +64,7 @@ struct file ...@@ -64,6 +64,7 @@ struct file
static unsigned int generic_file_map_access( unsigned int access ); static unsigned int generic_file_map_access( unsigned int access );
static void file_dump( struct object *obj, int verbose ); static void file_dump( struct object *obj, int verbose );
static struct object_type *file_get_type( struct object *obj );
static struct fd *file_get_fd( struct object *obj ); static struct fd *file_get_fd( struct object *obj );
static struct security_descriptor *file_get_sd( struct object *obj ); static struct security_descriptor *file_get_sd( struct object *obj );
static int file_set_sd( struct object *obj, const struct security_descriptor *sd, unsigned int set_info ); static int file_set_sd( struct object *obj, const struct security_descriptor *sd, unsigned int set_info );
...@@ -77,7 +78,7 @@ static const struct object_ops file_ops = ...@@ -77,7 +78,7 @@ static const struct object_ops file_ops =
{ {
sizeof(struct file), /* size */ sizeof(struct file), /* size */
file_dump, /* dump */ file_dump, /* dump */
no_get_type, /* get_type */ file_get_type, /* get_type */
add_queue, /* add_queue */ add_queue, /* add_queue */
remove_queue, /* remove_queue */ remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */ default_fd_signaled, /* signaled */
...@@ -273,6 +274,13 @@ static void file_dump( struct object *obj, int verbose ) ...@@ -273,6 +274,13 @@ static void file_dump( struct object *obj, int verbose )
fprintf( stderr, "File fd=%p\n", file->fd ); fprintf( stderr, "File fd=%p\n", file->fd );
} }
static struct object_type *file_get_type( struct object *obj )
{
static const WCHAR name[] = {'F','i','l','e'};
static const struct unicode_str str = { name, sizeof(name) };
return get_object_type( &str );
}
static int file_get_poll_events( struct fd *fd ) static int file_get_poll_events( struct fd *fd )
{ {
struct file *file = get_fd_user( fd ); struct file *file = get_fd_user( fd );
......
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