regbag.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

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