home *** CD-ROM | disk | FTP | other *** search
/ Beginning Direct3D Game Programming / Direct3D.iso / directx / dxf / include / dshowidl / regbag.idl < prev    next >
Text File  |  2000-10-01  |  2KB  |  44 lines

  1. //------------------------------------------------------------------------------
  2. // File: RegBag.idl
  3. //
  4. // Desc: IDL source for RegBag.dll.
  5. //
  6. // Copyright (c) 1999 - 2000, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9.  
  10. import "objidl.idl";
  11. import "oaidl.idl";
  12. import "ocidl.idl";
  13.  
  14.  
  15. //*****************************************************************************
  16. ///////////////////////////////////////////////////////////////////////////////
  17. //
  18. //  Custom Factory interface
  19. //  since com doesn't support ctors or initialization parameters on std factory interface
  20. //  we have a custom creation interface
  21. //
  22. ///////////////////////////////////////////////////////////////////////////////
  23. //*****************************************************************************
  24. ///////////////////////////////////////////////////////////////////////////////////////
  25. [object, 
  26.     hidden, restricted,
  27.     uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
  28.     helpstring("Create property bag backed by registry"),
  29.     pointer_default(unique),
  30.     local
  31. ]
  32. interface ICreatePropBagOnRegKey : IUnknown {
  33.     // NOTE: it is up to the caller to set the correct registry access based on the interface
  34.     // and methods the caller intends to use
  35.     // IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
  36.     // IPropertyBagXXX::Read requires KEY_READ
  37.     // IPropertyBagXXX::Write requires KEY_WRITE
  38.     // also, you must CoTaskMemFree the name string from GetPropertyInfo
  39.     // if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
  40.     // registry info will be deleted.
  41.     HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
  42. };
  43.  
  44.