| 1 |
bearsoft |
1.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 |
|
|
|