com 名字对象(1)IBindCtx

 

一.IBindCtx

Provides access to a bind context, which is an object that stores information about a particular moniker binding operation.

How to create

IBindCtx* bindCtx=NULL;
CreateBindCtx(0,&bindCtx);

二.object active status

1.RegisterObjectBound

Registers an object with the bind context to ensure that the object remains active until the bind context is released.

IBindCtx* bindCtx=NULL;
CreateBindCtx(0,&bindCtx);

HRESULT hr;
IUnknown* pUnk = NULL;
hr = CoCreateInstance(CLSID_DuckDoer, NULL, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&pUnk);
bindCtx->RegisterObjectBound(pUnk);
//still alive
pUnk->Release();
//real release
pUnk->Release();

2.RevokeObjectBound

Removes the object from the bind context, undoing a previous call to RegisterObjectBound.

bindCtx->RegisterObjectBound(pUnk);
bindCtx->RevokeObjectBound(pUnk);
//release
pUnk->Release();
//pUnk->AddRef()
bindCtx->RegisterObjectBound(pUnk);
//still release
pUnk->Release();
//real release==pUnk->Release();
bindCtx->RevokeObjectBound(pUnk);

3.ReleaseBoundObjects

Releases all pointers to all objects that were previously registered by calls to RegisterObjectBound.

4.ObjectParam

  1. RegisterObjectParam    Associates an object with a string key in the bind context's string-keyed table of pointers.
  2. GetObjectParam Retrieves an interface pointer to the object associated with the specified key in the bind context's string-keyed table of pointers
  3. RevokeObjectParam Removes the specified key and its associated pointer from the bind context's string-keyed table of objects
  4. EnumObjectParam  Retrieves a pointer to an interface that can be used to enumerate the keys of the bind context's string-keyed table of pointers
     
bindCtx->RegisterObjectParam(OLESTR("testKey"),pUnk);
IUnknown* pUnk2 = NULL;
bindCtx->GetObjectParam(OLESTR("testKey"),&pUnk2);

5.Options

  1. SetBindOptions Sets new values for the binding parameters stored in the bind context.
  2. GetBindOptions

6.com memory

reference:http://www.vckbase.com/document/viewdoc/?id=1493

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值