using System;
namespace System.Runtime.InteropServices
{
/// Use instead.
// Token: 0x02000351 RID: 849
[Obsolete]
[Guid("0000000e-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface UCOMIBindCtx
{
/// Register the passed object as one of the objects that has been bound during a moniker operation and which should be released when it is complete.
/// The object to register for release.
// Token: 0x06002338 RID: 9016
void RegisterObjectBound([MarshalAs(UnmanagedType.Interface)] object punk);
/// Removes the object from the set of registered objects that need to be released.
/// The object to unregister for release.
// Token: 0x06002339 RID: 9017
void RevokeObjectBound([MarshalAs(UnmanagedType.Interface)] object punk);
/// Releases all the objects currently registered with the bind context by .
// Token: 0x0600233A RID: 9018
void ReleaseBoundObjects();
/// Store in the bind context a block of parameters that will apply to later UCOMIMoniker operations using this bind context.
/// The structure containing the binding options to set.
// Token: 0x0600233B RID: 9019
void SetBindOptions([In] ref BIND_OPTS pbindopts);
/// Return the current binding options stored in this bind context.
/// A pointer to the structure to receive the binding options.
// Token: 0x0600233C RID: 9020
void GetBindOptions(ref BIND_OPTS pbindopts);
/// Return access to the Running Object Table (ROT) relevant to this binding process.
/// On successful return, a reference to the ROT.
// Token: 0x0600233D RID: 9021
void GetRunningObjectTable(out UCOMIRunningObjectTable pprot);
/// Register the given object pointer under the specified name in the internally-maintained table of object pointers.
/// The name to register with.
/// The object to register.
// Token: 0x0600233E RID: 9022
void RegisterObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey, [MarshalAs(UnmanagedType.Interface)] object punk);
/// Lookup the given key in the internally-maintained table of contextual object parameters and return the corresponding object, if one exists.
/// The name of the object to search for.
/// On successful return, the object interface pointer.
// Token: 0x0600233F RID: 9023
void GetObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey, [MarshalAs(UnmanagedType.Interface)] out object ppunk);
/// Enumerate the strings which are the keys of the internally-maintained table of contextual object parameters.
/// On successful return, a reference to the object parameter enumerator.
// Token: 0x06002340 RID: 9024
void EnumObjectParam(out UCOMIEnumString ppenum);
/// Revoke the registration of the object currently found under this key in the internally-maintained table of contextual object parameters, if any such key is currently registered.
/// The key to unregister.
// Token: 0x06002341 RID: 9025
void RevokeObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey);
}
}