During my development I stumbled upon one function. and the function is
WINOLEAPI StgCreateStorageEx( __in const WCHAR *pwcsName, __in DWORD grfMode, __in STGFMT stgfmt, __in DWORD grfAttrs, __in STGOPTIONS *pStgOptions, __in PSECURITY_DESCRIPTOR *pSecurityDescriptor, __in REFIID riid, __out void **ppObjectOpen );
and the funny thing about it is the last parameter description. And quoting from Microsoft
"ppObjectOpen [out] A pointer to an interface pointer variable that receives a pointer for an interface on the new storage object; contains NULL if operation failed."
I wonder why Microsoft stopped speaking English any more. and for the same reason I prefer to develop under Unix/Linux platforms where there is no terms like the mentioned above and every thing is understandable, and organized