Wednesday, November 23, 2005, 9:14:28 AM, Alexandre Julliard wrote:
Vitaliy Margolen wine-devel@kievinfo.com writes:
void *create_named_object_dir( const struct object *rootdir, const struct unicode_str *name, unsigned int attr, const struct object_ops *ops );
DECL_HANDLER([open/create]_directory) { ... get_req_unicode_str( &name ); if (req->rootdir) root_obj = get_handle_obj( current->process, req->rootdir, 0, &directory_ops ); dir = create_directory( root_obj, &name, req->attributes ); if (root_obj) release_object( root_obj ); ...
For each named object?
Something like that yes (plus proper error handling of course). Also the get_handle_obj needs to be encapsulated in a get_directory_obj so
Just want to make clear for myself. You want me to add all this code to each object's create/open instead of putting it in the one place?
that you don't export directory_ops, and create_named_object_dir should take a struct directory, not a struct object.
Mm I don't want to do that because find_object_dir could and will be used on any object. I'm planning on renaming our current find_object into something like find_object_ns only to be used by objects with their own namespace. And they will use it only in lookup_name.
To drop it from everywhere else I will need query_type_name added to object_ops. So I can use create_named_object_dir on any named object.