我用
ICreateDevEnum* pDevEnum=NULL;
CoCreateInstance(CLSID_SystemDeviceEnum,NULL,CLSCTX_INPROC,IID_ICreateDevEnum,(void**)pDevEnum);
创建设备枚举接口,请问高手,其中的CLSCTX_INPROC是什么意思?具体代表什么含义?

解决方案 »

  1.   

    进程内服务器,COM的一种运行模式,组件在进程内创建
      

  2.   

    Values from the CLSCTX enumeration are used in activation calls to indicate the execution contexts in which an object is to be run. These values are also used in calls to CoRegisterClassObject to indicate the set of execution contexts in which a class object is to be made available for requests to construct instances.
     
    typedef enum tagCLSCTX {
        CLSCTX_INPROC_SERVER        = 0x1, 
        CLSCTX_INPROC_HANDLER       = 0x2, 
        CLSCTX_LOCAL_SERVER         = 0x4, 
        CLSCTX_INPROC_SERVER16      = 0x8,
        CLSCTX_REMOTE_SERVER        = 0x10,
        CLSCTX_INPROC_HANDLER16     = 0x20,
        CLSCTX_RESERVED1            = 0x40,
        CLSCTX_RESERVED2            = 0x80,
        CLSCTX_RESERVED3            = 0x100,
        CLSCTX_RESERVED4            = 0x200,
        CLSCTX_NO_CODE_DOWNLOAD     = 0x400,
        CLSCTX_RESERVED5            = 0x800,
        CLSCTX_NO_CUSTOM_MARSHAL    = 0x1000,
        CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
        CLSCTX_NO_FAILURE_LOG       = 0x4000,
        CLSCTX_DISABLE_AAA          = 0x8000,
        CLSCTX_ENABLE_AAA           = 0x10000,
        CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000,
        CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000,
        CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
    } CLSCTX;