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 |
|
|
|