zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java(样品集成框架spring、spring mvc、spring data jpa、hibernate)
    设定十分钟android在状态栏上集成的开源project推荐
    分析javascript关闭
    排列-条件求和(Code)
    Leetcode: Remove Duplicates from Sorted Array
    怎样将baidu地图中的baidu logo 去掉
    Android自适应不同屏幕几种方法
    浏览器兼容性问题解决方式
    XMPP入门
    “聊天剽窃手”--ptrace进程注入型病毒
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2117627.html
Copyright © 2011-2022 走看看