You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.2 KiB
Plaintext
53 lines
2.2 KiB
Plaintext
//------------------------------------------------------------------------------
|
|
// File: RegBag.idl
|
|
//
|
|
// Desc: IDL source for RegBag.dll.
|
|
//
|
|
// Copyright (c) 1999 - 2000, Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
cpp_quote("//+-------------------------------------------------------------------------")
|
|
cpp_quote("//")
|
|
cpp_quote("// Microsoft Windows")
|
|
cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2000.")
|
|
cpp_quote("//")
|
|
cpp_quote("//--------------------------------------------------------------------------")
|
|
cpp_quote("#pragma once")
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "objidl.idl";
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
#endif
|
|
|
|
//*****************************************************************************
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Custom Factory interface
|
|
// since com doesn't support ctors or initialization parameters on std factory interface
|
|
// we have a custom creation interface
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//*****************************************************************************
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
[object,
|
|
hidden, restricted,
|
|
uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
|
|
helpstring("Create property bag backed by registry"),
|
|
pointer_default(unique),
|
|
local
|
|
]
|
|
interface ICreatePropBagOnRegKey : IUnknown {
|
|
// NOTE: it is up to the caller to set the correct registry access based on the interface
|
|
// and methods the caller intends to use
|
|
// IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
|
|
// IPropertyBagXXX::Read requires KEY_READ
|
|
// IPropertyBagXXX::Write requires KEY_WRITE
|
|
// also, you must CoTaskMemFree the name string from GetPropertyInfo
|
|
// if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
|
|
// registry info will be deleted.
|
|
HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
|
|
};
|
|
|