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