server: Fix type name of directory file.

This commit is contained in:
Qian Hong 2015-06-02 22:10:37 +08:00 committed by Alexandre Julliard
parent f208c50cc0
commit ef3ed04cdc
2 changed files with 12 additions and 4 deletions

View File

@ -783,11 +783,11 @@ static void test_query_object(void)
memset( buffer, 0, sizeof(buffer) );
status = pNtQueryObject( handle, ObjectTypeInformation, buffer, sizeof(buffer), &len );
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;
expected_len = sizeof(OBJECT_TYPE_INFORMATION) + str->Length + sizeof(WCHAR);
todo_wine ok( len >= expected_len, "unexpected len %u\n", len );
todo_wine ok( str->Buffer && !memcmp( str->Buffer, type_file, sizeof(type_file) ),
ok( len >= expected_len, "unexpected len %u\n", len );
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 );
pNtClose( handle );

View File

@ -148,13 +148,14 @@ static struct security_descriptor *dir_get_sd( struct object *obj );
static int dir_set_sd( struct object *obj, const struct security_descriptor *sd,
unsigned int set_info );
static void dir_dump( struct object *obj, int verbose );
static struct object_type *dir_get_type( struct object *obj );
static void dir_destroy( struct object *obj );
static const struct object_ops dir_ops =
{
sizeof(struct dir), /* size */
dir_dump, /* dump */
no_get_type, /* get_type */
dir_get_type, /* get_type */
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@ -250,6 +251,13 @@ static void dir_dump( struct object *obj, int verbose )
fprintf( stderr, "Dirfile fd=%p filter=%08x\n", dir->fd, dir->filter );
}
static struct object_type *dir_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 );
}
/* enter here directly from SIGIO signal handler */
void do_change_notify( int unix_fd )
{