Showing posts with label Istorage. Show all posts
Showing posts with label Istorage. Show all posts

Wednesday, September 7, 2011

IStorage

I was doing some development for AD RMS, which is creating a dll for 3d party applications to be able to use AD RMS features, i was doing it based on AD RMS SDK. so i had a lot of problems with Windows cryptic C/C++, but i managed around. for me it was the first time I used VC++ for something very complicated like AD RMS development.

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