freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

高級(jí)軟件工程dcom、自動(dòng)化(參考版)

2025-01-17 06:50本頁(yè)面
  

【正文】 } 自動(dòng)化 。 HRESULT hr = m_pITypeInfoInvoke( static_castIDispatch*(this), dispidMember, wFlags, pDispParams, pvarResult, pExcepInfo, pArgErr) 。 iid, LCID, // Localization is not supported. WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pvarResult, EXCEPINFO* pExcepInfo, UINT* pArgErr) { if (iid != IID_NULL) return DISP_E_UNKNOWNINTERFACE 。 return hr 。 return DISP_E_UNKNOWNINTERFACE 。 } 自動(dòng)化 HRESULT __stdcall CA::GetIDsOfNames( const IIDamp。 *ppITypeInfo = m_pITypeInfo 。 return DISP_E_BADINDEX 。 } 自動(dòng)化 HRESULT __stdcall CA::GetTypeInfo( UINT iTypeInfo, LCID, // This object does not support localization. ITypeInfo** ppITypeInfo) { *ppITypeInfo = NULL 。 *pCountTypeInfo = 1 。 } 。 // Component [ uuid(0C092C2C882C11CFA6BB0080C7B2D682), helpstring(Component Class) ] coclass Component { [default] interface IX 。 } 。 HRESULT FxStringOut([out, retval] BSTR* pbstrOut) 。 HRESULT Fx() 。 將類(lèi)型檢查推遲到運(yùn)行時(shí)完成 需要 調(diào)度接口的方法和函數(shù)對(duì)它們接受到 的參數(shù)的類(lèi)型進(jìn)行檢查 自動(dòng)化 調(diào)度接口通常需要為程序員完成某些類(lèi)型的轉(zhuǎn)換 自動(dòng)化提供 VariantChangeType 函數(shù) 完成轉(zhuǎn)換 HRESULT VariantChangeType( VARIANTARG* pVarDest, VARIANTARG* pVarSrc, unsigned short wFlags, VARTYPE vtNew ) 自動(dòng)化 ?BSTR數(shù)據(jù)類(lèi)型 Basic String。 在 VARIANT結(jié)構(gòu)中標(biāo)識(shí)所保存數(shù)據(jù)的類(lèi)型。 // Clean up ::SysFreeString(bstrIn) 。 // Named arguments hr = pIDispatchInvoke(dispid, IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD, amp。 // Arguments = 0 。 // Number of arguments = amp。 // Data for the VARIANT 自動(dòng)化 // Fill in the DISPPARAMS structure. DISPPARAMS param 。 // Initialize the VARIANT. = VT_BSTR 。 ::VariantInit(amp。 bstrIn = ::SysAllocString(wszIn) 。 wchar_t wszIn[] = LThis is the test. 。name, 1, GetUserDefaultLCID(), amp。 自動(dòng)化 VARIANT * pVarResult 指向 VARIANT結(jié)構(gòu)的指針 用于 Invoke所執(zhí)行的函數(shù)的結(jié)果。 其中,每一個(gè)參數(shù)類(lèi)型都是 VARIANTARG。 unsigned int cNamedArgs。 DISPID* rgdispidNamedArgs。 } 。 HRESULT FxStringOut([out, retval] BSTR* pbstrOut) 。 HRESULT Fx() 。Bar amp。Foo pVtbl “FooBar” 3 “Bar” 2 “Foo” 1 Idispatch接口 調(diào)度 接口 Invoke 函數(shù) GetIIDsOfNames 函數(shù) FooBar 接口 DISPID 名稱(chēng) 使用一個(gè) COM接口實(shí)現(xiàn) Idisppatch::Invoke 自動(dòng)化 pVtbl QueryInterface AddRef Release GetTypeInfoCount GetTypeInfo GetIIDsOfNames Invoke IDispatch * pIDispatch amp。FooBar amp。Bar 2 amp。 自動(dòng)化 執(zhí)行函數(shù)時(shí) 自動(dòng)化控制程序?qū)⒄{(diào)度標(biāo)識(shí) 傳給 Invoke 成員函數(shù) 自動(dòng)化服務(wù)器根據(jù)調(diào)度標(biāo)識(shí) 使用 case 語(yǔ)句執(zhí)行不同的代碼 Invoke 的工作方式與 vtbl 類(lèi)似: 都實(shí)現(xiàn)一組按索引訪(fǎng)問(wèn)的函數(shù) 都可以定義接口 IDispatch :: Invoke 的一個(gè)實(shí)現(xiàn)所包含的函數(shù)集 被稱(chēng)作一個(gè)調(diào)度接口 (不是 COM接口) 自動(dòng)化 pVtbl QueryInterface AddRef Release GetTypeInfoCount GetTypeInfo GetIIDsOfNames Invoke Idispatch * pIDispatch amp。 HRESULT GetIDsOfNames( [in] REFIID riid, [in, size_is(cNames)] LPOLESTR * rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID * rgDispId )。 HRESULT GetTypeInfoC
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1