I have an app which has a COM interface that other developers can use to access the app and perform basic tasks. One of those tasks is saving a file. I had a request from a user who wants to pass in a named pipe for the file name instead of a path. I use a standard _open call in the main app to do the writing, so it should work automatically. However when you try calling the COM function with a named pipe the _open call returns -1 with errno set to EINVAL. If I copy the code from the main app over to the test app that creates the pipe and do the _open there it works fine, so it seems to be some sort of permission issue. Should this work? Or is there something about the app being accessed via COM that would prevent it from working? Any help or advice would be greatly appreciated.