The compiler views a structure that has both an old name and a new name as two different types. You cannot copy from an old structure type to a new structure type. Old prototypes that take struct pointers use the old struct names in the prototype.
For compatibility between product versions, the library OLDNAMES.LIB maps old names to new names. For instance, open maps to _open. You must explicitly link with OLDNAMES.LIB only when you compile with the following combinations of command-line options:
- /Zl (omit default library name from object file) and /Ze (the default — use Microsoft extensions)
- /link (linker-control), /NOD (no default-library search), and /Ze
For more information about compiler command-line options, see Compiler Reference.