From b1f9e28cd155459ab2843690c248ed9f4767bc3f Mon Sep 17 00:00:00 2001 From: Fire-Head Date: Sun, 2 Jun 2019 06:00:38 +0300 Subject: skeleton updated, windows specific stuff added --- dxsdk/Include/DShowIDL/regbag.idl | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 dxsdk/Include/DShowIDL/regbag.idl (limited to 'dxsdk/Include/DShowIDL/regbag.idl') diff --git a/dxsdk/Include/DShowIDL/regbag.idl b/dxsdk/Include/DShowIDL/regbag.idl new file mode 100644 index 00000000..103aff17 --- /dev/null +++ b/dxsdk/Include/DShowIDL/regbag.idl @@ -0,0 +1,52 @@ +//------------------------------------------------------------------------------ +// 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); +}; + -- cgit v1.2.3