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 that you don't export directory_ops, and create_named_object_dir should take a struct directory, not a struct object.