The problem with overloading the create method like this is you need to make sure you catch every place it is implemented.

For instance CRremoteFile::openShared will need modifying.