锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩亚洲一区二区三区在线观看,欧美日韩国产欧美日美国产精品,亚洲欧洲久久http://m.shnenglu.com/alantop/category/1620.html鑲$エ鏁版嵁鏍煎紡杞崲杞歡 http://alantop.5166.info 鍏竷鑲$エ鏁版嵁鏍煎紡鏂囨。 紼沖畾鐩堝埄鐨勫姹囦氦鏄撶郴緇熼粦鐗涘姹囦氦鏄撶郴緇?MT4緙栫▼zh-cnTue, 20 May 2008 01:53:00 GMTTue, 20 May 2008 01:53:00 GMT60鎵樼浠g爜濡備綍璋冪敤闈炴墭綆′唬鐮?c sharp濡備綍璋冪敤c++浠g爜)?http://m.shnenglu.com/alantop/archive/2008/04/16/47318.htmlAlanTopAlanTopWed, 16 Apr 2008 12:32:00 GMThttp://m.shnenglu.com/alantop/archive/2008/04/16/47318.htmlhttp://m.shnenglu.com/alantop/comments/47318.htmlhttp://m.shnenglu.com/alantop/archive/2008/04/16/47318.html#Feedback1http://m.shnenglu.com/alantop/comments/commentRss/47318.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/47318.html闃呰鍏ㄦ枃

AlanTop 2008-04-16 20:32 鍙戣〃璇勮
]]>
鐢辨祬鍏ユ繁錛屼婦渚嬭瑙PC錛堜竴錛?/title><link>http://m.shnenglu.com/alantop/archive/2007/07/09/27727.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Mon, 09 Jul 2007 04:41:00 GMT</pubDate><guid>http://m.shnenglu.com/alantop/archive/2007/07/09/27727.html</guid><wfw:comment>http://m.shnenglu.com/alantop/comments/27727.html</wfw:comment><comments>http://m.shnenglu.com/alantop/archive/2007/07/09/27727.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/alantop/comments/commentRss/27727.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/alantop/services/trackbacks/27727.html</trackback:ping><description><![CDATA[  <p><span>鍏充簬</span><span>RPC</span><span>鐨勬枃绔犲緢澶氾紝浣嗘槸緋葷粺璁茶В鐨勫緢灝戙備笅闈㈡垜灝嗗啓涓涓郴鍒楁姤閬撱傜敤浠g爜鍜岃榪版潵鎶?/span><span>rpc</span><span>鏉ヨ璁叉竻妤氥?/span></p> <p><span>榪欑瘒灝辨槸寮濮嬬涓綃囦簡銆?/span></p> <p> </p> <p><span>鐢變簬宸ヤ綔姣旇緝蹇欍傛垜浠娊鍑轟竴涓槦鏈熺殑鏃墮棿錛屾湁鏃墮棿浼氬啓涓鐐廣傛妸榪欎釜緋誨垪鍐欏畬銆傛墍浠ワ紝鏈夊彲鑳芥瘡涓郴鍒楅兘姣旇緝鐭簺銆?/span></p> <p><span>浠庢渶鍩烘湰鐨勮璧鳳紝璁╁ぇ瀹跺交搴曟槑鐧?/span><span>RPC.</span></p> <p> </p> <p><span>濂戒簡搴熻瘽涓嶅璇翠簡銆傛鏄紑濮嬨?/span></p> <p> </p> <p> </p> <p><span>棣栧厛錛屼綘瑕佺敤</span><span>RPC</span><span>錛屽繀欏誨厛鎼炴竻妤氫粈涔堟槸</span><span>IDL.</span></p> <p> </p> <p><span>Rpc</span><span>鏄粈涔堬紵</span><span> </span></p> <p><span><a href="http://m.shnenglu.com/alantop/archive/2007/07/09/27717.html">http://m.shnenglu.com/alantop/archive/2007/07/09/27717.html</a></span></p> <p><span>IDL</span><span>鏄粈涔堬紵</span></p> <p><span><a href="http://m.shnenglu.com/alantop/archive/2007/07/09/27725.html">http://m.shnenglu.com/alantop/archive/2007/07/09/27725.html</a> </span></p> <p> </p> <p><span>涓嬫潵錛屼婦涓緥瀛愩傛庝箞鏍鋒妸涓涓爣鍑嗙▼搴忔敼鎴愮敤</span><span>IDL</span><span>璇█鍐欑殑紼嬪簭銆?/span></p> <p> </p> <p><span>榪欐槸涓涓爣鍑嗙▼搴忋?/span></p> <table cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td vAlign=top width=568> <p><span>// File Standalone.cpp</span></p> <p><span>#include <iostream></span></p> <p> </p> <p><span>// Future server function.</span></p> <p><span>void Output(const char* szOutput)</span></p> <p><span>{</span></p> <p><span><span>   </span>std::cout << szOutput << std::endl;</span></p> <p><span>}</span></p> <p> </p> <p><span>int main()</span></p> <p><span>{</span></p> <p><span><span>   </span>// Future client call.</span></p> <p><span><span>   </span>Output("Hello Lonely World!");</span></p> <p><span>}</span></p> </td> </tr> </tbody> </table> <p> </p> <p><span>涓嬫潵鐪嬫垜浠庝箞鎶婂畠鏀逛負涓涓爣鍑?/span><span>IDL</span><span>璇█鐨勭▼搴?/span></p> <p><span>鐢?/span><span>IDL</span><span>璇█瀹氫箟鎺ュ彛錛?/span></p> <table cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td vAlign=top width=568> <p><span>// File Example1.idl</span></p> <p><span>[</span></p> <p><span><span>   </span>// A unique identifier that distinguishes this</span></p> <p><span><span>   </span>// interface from other interfaces.</span></p> <p><span><span>   </span>uuid(00000001-EAF3-4A7A-A0F2-BCE4C30DA77E),</span></p> <p> </p> <p><span><span>   </span>// This is version 1.0 of this interface.</span></p> <p><span><span>   </span>version(1.0),</span></p> <p> </p> <p><span><span>   </span>// This interface will use an implicit binding</span></p> <p><span><span>   </span>// handle named hExample1Binding.</span></p> <p><span><span>   </span>implicit_handle(handle_t hExample1Binding)</span></p> <p><span>]</span></p> <p><span>interface Example1 // The interface is named Example1</span></p> <p><span>{</span></p> <p><span><span>   </span>// A function that takes a zero-terminated string.</span></p> <p><span><span>   </span>void Output(</span></p> <p><span><span>      </span>[in, string] const char* szOutput);</span></p> <p><span>}</span></p> </td> </tr> </tbody> </table> <p><span>涓婇潰榪欎釜鏂囦歡鏄垜浠敤</span><span>idl</span><span>璇█瀹氫箟鐨勶紝鎴戜滑瀹氫箟浜嗕竴涓帴鍙?/span><span>Example1, </span><span>瀹冨甫鏈?/span><span>uuid</span><span>鍜?/span><span>version. </span><span>榪欎釜鎺ュ彛閲屽畾涔変簡涓涓嚱鏁?/span><span>Output.</span></p> <p> </p> <p><span>UUID</span><span>鏄粈涔堬紵</span></p> <p><span><a href="http://m.shnenglu.com/alantop/archive/2007/07/09/27726.html">http://m.shnenglu.com/alantop/archive/2007/07/09/27726.html</a> </span></p> <p> </p> <p> </p> <p><span>鎺ュ彛鐨?/span><span>implicit_handle</span><span>灞炴э紝鎴戜滑鍚庨潰鍐嶈璁恒?/span></p> <p> </p> <p><span>鎺ヤ笅鏉ュ共浠涔堝憿錛?/span></p> <p><span>鎴戜滑涓轟簡鍦ㄧ▼搴忎腑浣跨敤</span><span>idl</span><span>錛屽繀欏婚氳繃閫氳繃緙栬瘧鍣紙</span><span>midl.exe</span><span>錛夋妸瀹冪炕璇戞垚瀹㈡埛浠g悊鍜屾湇鍔″櫒瀛樻牴錛?/span> <span>浠g悊鍜屽瓨鏍瑰皢鍦ㄥ悗闈㈣鎴戜滑鐨勭紪璇戝櫒錛?/span><span>windows</span><span>騫沖彴涓嬬殑</span><span>cl.exe</span><span>錛夋墍浣跨敤銆?/span></p> <p> <br></p> <p><img height=150 alt="" src="http://m.shnenglu.com/images/cppblog_com/alantop/rpcintro1_2.gif" width=363 border=0></p> <p> </p> <p><span>鏀瑰ソ鐨勬湇鍔″櫒绔▼搴忥細</span></p> <table cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td vAlign=top width=568> <p><span>// File Example1Server.cpp</span></p> <p><span>#include <iostream></span></p> <p><span>#include "Example1.h"</span></p> <p> </p> <p><span>// Server function.</span></p> <p><span>void Output(const char* szOutput)</span></p> <p><span>{</span></p> <p><span><span>   </span>std::cout << szOutput << std::endl;</span></p> <p><span>}</span></p> <p> </p> <p><span>int main()</span></p> <p><span>{</span></p> <p><span><span>   </span>RPC_STATUS status;</span></p> <p> </p> <p><span><span>   </span>// Uses the protocol combined with the endpoint for receiving</span></p> <p><span><span>   </span>// remote procedure calls.</span></p> <p><span><span>   </span>status = RpcServerUseProtseqEp(</span></p> <p><span><span>      </span>reinterpret_cast<unsigned char*>("ncacn_ip_tcp"), // Use TCP/IP</span></p> <p><span><span>                                                        </span>// protocol.</span></p> <p><span><span>      </span>RPC_C_PROTSEQ_MAX_REQS_DEFAULT, // Backlog queue length for TCP/IP.</span></p> <p><span><span>      </span>reinterpret_cast<unsigned char*>("4747"), // TCP/IP port to use.</span></p> <p><span><span>      </span>NULL); // No security.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p> </p> <p><span><span>   </span>// Registers the Example1 interface.</span></p> <p><span><span>   </span>status = RpcServerRegisterIf(</span></p> <p><span><span>      </span>Example1_v1_0_s_ifspec, // Interface to register.</span></p> <p><span><span>      </span>NULL, // Use the MIDL generated entry-point vector.</span></p> <p><span><span>      </span>NULL); // Use the MIDL generated entry-point vector.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p> </p> <p><span><span>   </span>// Start to listen for remote procedure</span></p> <p><span><span>   </span>// calls for all registered interfaces.</span></p> <p><span><span>   </span>// This call will not return until</span></p> <p><span><span>   </span>// RpcMgmtStopServerListening is called.</span></p> <p><span><span>   </span>status = RpcServerListen(</span></p> <p><span><span>     </span>1, // Recommended minimum number of threads.</span></p> <p><span><span>     </span>RPC_C_LISTEN_MAX_CALLS_DEFAULT, // Recommended </span></p> <p><span> <span>                           </span>//maximum number of threads.</span></p> <p><span><span>     </span>FALSE); // Start listening now.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p><span>}</span></p> <p> </p> <p><span>// Memory allocation function for RPC.</span></p> <p><span>// The runtime uses these two functions for allocating/deallocating</span></p> <p><span>// enough memory to pass the string to the server.</span></p> <p><span>void* __RPC_USER midl_user_allocate(size_t size)</span></p> <p><span>{</span></p> <p><span><span>    </span>return malloc(size);</span></p> <p><span>}</span></p> <p> </p> <p><span>// Memory deallocation function for RPC.</span></p> <p><span>void __RPC_USER midl_user_free(void* p)</span></p> <p><span>{</span></p> <p><span><span>    </span>free(p);</span></p> <p><span>}</span></p> </td> </tr> </tbody> </table> <p> </p> <p><span>榪欐槸鍒濆鍖栵紝鍜屾敞鍐屾帴鍙g殑浠g爜銆?/span></p> <p> </p> <p><span>鐜板湪鐪嬬湅鎬庝箞鍐欏鎴風</span></p> <table cellSpacing=0 cellPadding=0 border=1> <tbody> <tr> <td vAlign=top width=568> <p><span>// File Example1Client.cpp</span></p> <p><span>#include <iostream></span></p> <p><span>#include "Example1.h"</span></p> <p> </p> <p><span>int main()</span></p> <p><span>{</span></p> <p><span><span>   </span>RPC_STATUS status;</span></p> <p><span><span>   </span>unsigned char* szStringBinding = NULL;</span></p> <p> </p> <p><span><span>   </span>// Creates a string binding handle.</span></p> <p><span><span>   </span>// This function is nothing more than a printf.</span></p> <p><span><span>   </span>// Connection is not done here.</span></p> <p><span><span>   </span>status = RpcStringBindingCompose(</span></p> <p><span><span>      </span>NULL, // UUID to bind to.</span></p> <p><span><span>      </span>reinterpret_cast<unsigned char*>("ncacn_ip_tcp"), // Use TCP/IP</span></p> <p><span><span>                                                        </span>// protocol.</span></p> <p><span><span>      </span>reinterpret_cast<unsigned char*>("localhost"), // TCP/IP network</span></p> <p><span><span>                                                     </span>// address to use.</span></p> <p><span><span>      </span>reinterpret_cast<unsigned char*>("4747"), // TCP/IP port to use.</span></p> <p><span><span>      </span>NULL, // Protocol dependent network options to use.</span></p> <p><span><span>      </span>&szStringBinding); // String binding output.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p> </p> <p><span><span>   </span>// Validates the format of the string binding handle and converts</span></p> <p><span><span>   </span>// it to a binding handle.</span></p> <p><span><span>   </span>// Connection is not done here either.</span></p> <p><span><span>   </span>status = RpcBindingFromStringBinding(</span></p> <p><span><span>      </span>szStringBinding, // The string binding to validate.</span></p> <p><span><span>      </span>&hExample1Binding); // Put the result in the implicit binding</span></p> <p><span><span>                          </span>// handle defined in the IDL file.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p> </p> <p><span><span>   </span>RpcTryExcept</span></p> <p><span><span>   </span>{</span></p> <p><span><span>      </span>// Calls the RPC function. The hExample1Binding binding handle</span></p> <p><span><span>      </span>// is used implicitly.</span></p> <p><span><span>      </span>// Connection is done here.</span></p> <p><span><span>      </span>Output("Hello RPC World!");</span></p> <p><span><span>   </span>}</span></p> <p><span><span>   </span>RpcExcept(1)</span></p> <p><span><span>   </span>{</span></p> <p><span><span>      </span>std::cerr << "Runtime reported exception " << RpcExceptionCode()</span></p> <p><span><span>    </span><span>            </span><< std::endl;</span></p> <p><span><span>   </span>}</span></p> <p><span><span>   </span>RpcEndExcept</span></p> <p> </p> <p><span><span>   </span>// Free the memory allocated by a string.</span></p> <p><span><span>   </span>status = RpcStringFree(</span></p> <p><span><span>      </span>&szStringBinding); // String to be freed.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p> </p> <p><span><span>   </span>// Releases binding handle resources and disconnects from the server.</span></p> <p><span><span>   </span>status = RpcBindingFree(</span></p> <p><span><span>      </span>&hExample1Binding); // Frees the implicit binding handle defined in</span></p> <p><span><span>                          </span>// the IDL file.</span></p> <p> </p> <p><span><span>   </span>if (status)</span></p> <p><span><span>      </span>exit(status);</span></p> <p><span>}</span></p> <p> </p> <p><span>// Memory allocation function for RPC.</span></p> <p><span>// The runtime uses these two functions for allocating/deallocating</span></p> <p><span>// enough memory to pass the string to the server.</span></p> <p><span>void* __RPC_USER midl_user_allocate(size_t size)</span></p> <p><span>{</span></p> <p><span><span>    </span>return malloc(size);</span></p> <p><span>}</span></p> <p> </p> <p><span>// Memory deallocation function for RPC.</span></p> <p><span>void __RPC_USER midl_user_free(void* p)</span></p> <p><span>{</span></p> <p><span><span>    </span>free(p);</span></p> <p><span>}</span></p> </td> </tr> </tbody> </table> <p> </p> <img src ="http://m.shnenglu.com/alantop/aggbug/27727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/alantop/" target="_blank">AlanTop</a> 2007-07-09 12:41 <a href="http://m.shnenglu.com/alantop/archive/2007/07/09/27727.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>UUID鏄粈涔堬紵http://m.shnenglu.com/alantop/archive/2007/07/09/27726.htmlAlanTopAlanTopMon, 09 Jul 2007 04:31:00 GMThttp://m.shnenglu.com/alantop/archive/2007/07/09/27726.htmlhttp://m.shnenglu.com/alantop/comments/27726.htmlhttp://m.shnenglu.com/alantop/archive/2007/07/09/27726.html#Feedback1http://m.shnenglu.com/alantop/comments/commentRss/27726.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/27726.htmlUUID灝辨槸Universal Unique IDentifier鐨勭緝鍐欙紝瀹冩槸涓涓?28浣嶏紝16瀛楄妭鐨勫鹼紝騫剁‘淇濆湪鏃墮棿鍜岀┖闂翠笂鍞竴銆?br>瀹冩槸鎶婄‖浠跺湴鍧銆佹椂闂翠互鍙婇殢鏈烘暟緇撳悎鍦ㄤ竴璧鳳紝鏉ョ‘淇濆叾鍞竴鎬х殑銆?/font>
涓鑸儏鍐典笅錛岀敓鎴愮畻娉曠敤璁$畻鏈虹綉鍗$殑鍦板潃鍜屼竴涓?0浣嶇殑timestamp鐢熸垚錛屾椂闂存槸浠?00ns涓烘椂闂撮棿闅斻?/font>
渚嬪錛屼竴鍙?00PL 6862鐨勮綆楁満錛屼富鏉塊泦鎴愮殑緗戝崱鐨凪AC鍦板潃涓?0-04-AC-2E-B7-DC錛岃孶UID鐨勬渶鍚庡叚涓瓧鑺備篃浼氭槸0004AC2EB7DC

AlanTop 2007-07-09 12:31 鍙戣〃璇勮
]]>
IDL鏄粈涔堬紵http://m.shnenglu.com/alantop/archive/2007/07/09/27725.htmlAlanTopAlanTopMon, 09 Jul 2007 04:22:00 GMThttp://m.shnenglu.com/alantop/archive/2007/07/09/27725.htmlhttp://m.shnenglu.com/alantop/comments/27725.htmlhttp://m.shnenglu.com/alantop/archive/2007/07/09/27725.html#Feedback1http://m.shnenglu.com/alantop/comments/commentRss/27725.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/27725.html闃呰鍏ㄦ枃

AlanTop 2007-07-09 12:22 鍙戣〃璇勮
]]>
retval閲婄枒http://m.shnenglu.com/alantop/archive/2006/11/11/14996.htmlAlanTopAlanTopSat, 11 Nov 2006 01:07:00 GMThttp://m.shnenglu.com/alantop/archive/2006/11/11/14996.htmlhttp://m.shnenglu.com/alantop/comments/14996.htmlhttp://m.shnenglu.com/alantop/archive/2006/11/11/14996.html#Feedback0http://m.shnenglu.com/alantop/comments/commentRss/14996.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/14996.html涓轟簡璁╂柟娉曡繑鍥炰竴涓笌''鏂規硶鐨勭墿鐞咹RESULT''涓嶇浉鍏崇殑閫昏緫緇撴灉錛孋OM IDL鏀寔retval鍙傛暟灞炴с俽etval灞炴х殑鍚箟鏄紝鐩稿叧鑱旂殑鐗╃悊鏂規硶鍙傛暟瀹為檯涓婃槸鎿嶄綔鐨勯昏緫緇撴灉錛屽湪鏀寔retval鐨勭幆澧冧腑錛岃鍙傛暟搴旇琚槧灝勪負鎿嶄綔鐨勭粨鏋?/b>銆備緥濡傦紝緇欏畾涓嬮潰鐨処DL鏂規硶瀹氫箟錛?br />

HRESULT Method2( [in] short arg1,[out,retval] short * parg2);

鍦↗ava璇█涓紝搴旇琚槧灝勪負涓嬮潰鐨勫嚱鏁幫細
public short Method2(short arg1);
鑰屽湪Visual Basic涓紝鏂規硶瀹氫箟濡備笅;
Function Method2(arg1 as Integer) as Integer


鍥犱負C++娌℃湁涓撻棬鐨勮繍琛屾椂搴撴潵鏀寔COM鎺ュ彛璁塊棶鎿嶄綔錛屾墍浠icrosoft C++鎶婅繖涓柟娉曟槧灝勭▼涓嬮潰鐨勫嚱鏁幫細
virtual HRESULT __stdcall Method2(short arg1,short* parg2 ) = 0;

//
// interface IVAIS wrapper method implementations
//

inline char IVAIS::ExecVerifyAIS ( _bstr_t AisContent, short length ) {
聽聽聽 char _result;
聽聽聽 HRESULT _hr = raw_ExecVerifyAIS(AisContent, length, &_result);
聽聽聽 if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
聽聽聽 return _result;
}



AlanTop 2006-11-11 09:07 鍙戣〃璇勮
]]>
com涓敤bool綾誨瀷銆?/title><link>http://m.shnenglu.com/alantop/archive/2006/11/10/14937.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Thu, 09 Nov 2006 23:36:00 GMT</pubDate><guid>http://m.shnenglu.com/alantop/archive/2006/11/10/14937.html</guid><wfw:comment>http://m.shnenglu.com/alantop/comments/14937.html</wfw:comment><comments>http://m.shnenglu.com/alantop/archive/2006/11/10/14937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/alantop/comments/commentRss/14937.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/alantop/services/trackbacks/14937.html</trackback:ping><description><![CDATA[鍦╟om鐢ㄧ敤bool綾誨瀷錛岃繕鏄湁浜涜絀躲?br />1. 濡傛灉浣犲彧鏄粰c++鎴杍ava浣跨敤錛屽彲浠ョ敤boolean.鍏朵粬璇█涓嶆敮鎸併?br />2. 浣犺鏄彁楂樿嚜鍔ㄥ寲鍙橀噺VARIANT_BOOL,浠栫殑綾誨瀷鍊兼槸VARIANT_TRUE鎴栬匳ARIANT_FALSE.<br /><br />com涓彲浠ヨ嚜瀹氫箟HRESULT鐨勫箋?br />涓鑸敤S_OK錛岃〃紺哄嚱鏁拌皟鐢ㄦ垚鍔熴?br />鐢‥_UNEXPECTED 琛ㄧず鐨勬槸浠g爜涓殑閿欒銆?br /><br /><img src ="http://m.shnenglu.com/alantop/aggbug/14937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/alantop/" target="_blank">AlanTop</a> 2006-11-10 07:36 <a href="http://m.shnenglu.com/alantop/archive/2006/11/10/14937.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍐嶆錛岃В閲奀ComPtr鍜孋ComQIPtr銆?/title><link>http://m.shnenglu.com/alantop/archive/2006/05/13/7051.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Fri, 12 May 2006 19:44:00 GMT</pubDate><guid>http://m.shnenglu.com/alantop/archive/2006/05/13/7051.html</guid><wfw:comment>http://m.shnenglu.com/alantop/comments/7051.html</wfw:comment><comments>http://m.shnenglu.com/alantop/archive/2006/05/13/7051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/alantop/comments/commentRss/7051.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/alantop/services/trackbacks/7051.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" size="2">瀵逛簬鎿嶄綔鍘熷鐨勬帴鍙f寚閽堟槸姣旇緝楹葷儲鐨勶紝闇瑕佹垜浠嚜宸辨帶鍒跺紩鐢ㄨ鏁般丄PI 璋冪敤銆佸紓甯稿鐞嗐備簬鏄?ATL 鎻愪緵浜?涓櫤鑳芥寚閽堢殑妯℃澘鍖呰綾伙紝CComPtr<> 鍜?CComQIPtr<>錛岃繖涓や釜綾婚兘鍦?<atlbase.h> 涓0鏄庛侰ComQIPtr<> 鍖呭惈浜?CComPtr<>鐨勬墍鏈夊姛鑳斤紝鍥犳鎴戜滑鍙互瀹屽叏鐢?CComQIPtr<> 鏉ヤ嬌鐢ㄦ櫤鑳芥帴鍙f寚閽堬紝鍞竴瑕佽鏄庣殑涓鐐瑰氨鏄細CComQIPtr<> 鐢變簬浣跨敤浜嗚繍綆楃鐨勯噸杞藉姛鑳斤紝瀹冧細鑷姩甯垜浠皟鐢≦ueryInterface()鍑芥暟錛屽洜姝?CComQIPtr<> 鍞竴鐨勭己鐐瑰氨鏄笉鑳藉畾涔?IUnknown * 鎸囬拡銆?<br /><br />聽聽聽聽 // 鏅鴻兘鎸囬拡 smart pointer錛屾寜鐓у寛鐗欏埄鍛藉悕娉曪紝涓鑸互 sp 寮澶存潵琛ㄧず鍙橀噺綾誨瀷<br />銆銆聽 CComPtr < IUnknown > spUnk;聽// 姝g‘<br />銆銆聽 // 鍋囪 IFun 鏄竴涓帴鍙g被鍨?br />銆銆聽 CComPtr < IFun > spFun;聽// 姝g‘<br />銆銆聽 CComQIPtr < IFun > spFun;聽// 姝g‘<br />銆銆聽 CComQIPtr < IFun, &IID_IFun > spFun;聽// 姝g‘<br />銆銆聽 CComQIPtr < IUnknown > spUnk;聽// 閿欒錛丆ComQIPtr涓嶈兘瀹氫箟IUnknown鎸囬拡<br />聽聽<br />緇欐櫤鑳芥寚閽堣祴鍊肩殑鏂規硶錛?<br />銆銆聽 CComQIPtr < IFun > spFun;聽// 璋冪敤鏋勯犲嚱鏁幫紝榪樻病鏈夎祴鍊鹼紝琚寘瑁呯殑鍐呴儴鎺ュ彛鎸囬拡涓?NULL<br />銆銆聽 <br />銆銆聽 CComQIPtr < IFun > spFun( pOtherInterface );聽// 璋冪敤鏋勯犲嚱鏁幫紝鍐呴儴鎺ュ彛鎸囬拡璧嬪間負<br />銆銆聽 // 閫氳繃 pOtherInterface 榪欎釜鏅氭帴鍙f寚閽堣皟鐢≦ueryInterface()寰楀埌鐨処Fun鎺ュ彛鎸囬拡<br />銆銆聽 <br />銆銆聽 CComQIPtr < IFun > spFun( spOtherInterface ); // 璋冪敤鏋勯犲嚱鏁幫紝鍐呴儴鎺ュ彛鎸囬拡璧嬪間負<br />銆銆聽 // 閫氳繃 spOtherInterface 榪欎釜鍙兘鎺ュ彛鎸囬拡璋冪敤QueryInterface()寰楀埌鐨処Fun鎺ュ彛鎸囬拡<br />銆銆聽 <br />銆銆聽 CComQIPtr < IFun > spFun ( pUnknown );聽// 璋冪敤鏋勯犲嚱鏁幫紝鐢盜Unknown鐨凲ueryInterface()寰楀埌IFun鎺ュ彛鎸囬拡<br />銆銆聽 <br />銆銆聽 CComQIPtr < IFun > spFun = pOtherInterface;聽// = 榪愮畻絎﹂噸杞斤紝鍚箟鍜屼笂闈竴鏍?br />銆銆聽 spFun = spOtherInterface;聽// 鍚屼笂<br />銆銆聽 spFun = pUnknown;聽// 鍚屼笂<br />銆銆聽 <br />銆銆聽 pUnknown->QueryInterface( IID_IFun, &sp );聽// 涔熷彲浠ラ氳繃QueryInterface璧嬪?br />銆銆聽 <br />銆銆聽 // 鏅鴻兘鎸囬拡璧嬪煎悗錛屽彲浠ョ敤鏉′歡璇彞鍒ゆ柇鏄惁鍚堟硶鏈夋晥<br />銆銆聽 if ( spFun ){}聽聽// 濡傛灉鎸囬拡鏈夋晥<br />銆銆聽 if ( NULL != spFun ){}聽// 濡傛灉鎸囬拡鏈夋晥<br />銆銆聽 <br />銆銆聽 if ( !spFun ){}聽聽// 濡傛灉鎸囬拡鏃犳晥<br />銆銆聽 if ( NULL == spFun ){}聽// 濡傛灉鎸囬拡鏃犳晥 </font> </p> <p> <font face="Courier New" size="2"> </font>聽</p> <p> <font face="Courier New" size="2">鏅鴻兘鎸囬拡璋冪敤鍑芥暟鐨勬柟娉曪細 <br />銆銆聽 spFun.CoCreateInstance(...);聽// 絳変環涓?API 鍑芥暟::CoCreateInstance(...)<br />銆銆聽 spFun.QueryInterface(...);聽// 絳変環涓?API 鍑芥暟::QueryInterface()<br />銆銆聽 <br />銆銆聽 spFun->Add(...);聽// 璋冪敤鍐呴儴鎺ュ彛鎸囬拡鐨勬帴鍙e嚱鏁?</font> </p> <p> <font face="Courier New" size="2">銆銆聽 // 璋冪敤鍐呴儴鎺ュ彛鎸囬拡鐨凲ueryInterface()鍑芥暟錛屽叾瀹炴晥鏋滃拰 spFun.QueryInterface(...) 涓鏍?br />銆銆聽 spFun->QueryInterface(...);聽<br />銆銆聽 <br />銆銆聽 spFun.Release();聽// 閲婃斁鍐呴儴鐨勬帴鍙f寚閽堬紝鍚屾椂鍐呴儴鎸囬拡璧嬪間負 NULL<br />銆銆聽 spFun->Release();聽// 閿欙紒錛侊紒涓瀹氫笉瑕佽繖涔堜嬌鐢ㄣ?br />銆銆聽 // 鍥犱負榪欎釜璋冪敤騫朵笉鎶婂唴閮ㄦ寚閽堟竻絀猴紝閭d箞鏋愭瀯鐨勬椂鍊欎細琚啀嬈¢噴鏀撅紙閲婃斁浜嗕袱嬈★級<br /></font> </p> <img src ="http://m.shnenglu.com/alantop/aggbug/7051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/alantop/" target="_blank">AlanTop</a> 2006-05-13 03:44 <a href="http://m.shnenglu.com/alantop/archive/2006/05/13/7051.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CComPtr鍜孋ComQIPtr鐨勫尯鍒?http://m.shnenglu.com/alantop/archive/2006/05/13/7050.htmlAlanTopAlanTopFri, 12 May 2006 19:36:00 GMThttp://m.shnenglu.com/alantop/archive/2006/05/13/7050.htmlhttp://m.shnenglu.com/alantop/comments/7050.htmlhttp://m.shnenglu.com/alantop/archive/2006/05/13/7050.html#Feedback0http://m.shnenglu.com/alantop/comments/commentRss/7050.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/7050.htmlCComPtr<IWebBrowser2> m_spWebBrowser2;
IUnknown *pUnknown;
pUnknown->QueryInterface(&m_spWebBrowser2);

CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> m_spWebBrowser2;
IUnknown *pUnknown;
m_spWebBrowser2 = pUnknown;


AlanTop 2006-05-13 03:36 鍙戣〃璇勮
]]>
閫氳繃QueryInterface鎺ュ彛鏌ヨ鍜屼嬌鐢↖Dispatch 鎺ュ彛榪涜鎿嶄綔鐨勫姣斻?/title><link>http://m.shnenglu.com/alantop/archive/2006/05/13/7049.html</link><dc:creator>AlanTop</dc:creator><author>AlanTop</author><pubDate>Fri, 12 May 2006 19:29:00 GMT</pubDate><guid>http://m.shnenglu.com/alantop/archive/2006/05/13/7049.html</guid><wfw:comment>http://m.shnenglu.com/alantop/comments/7049.html</wfw:comment><comments>http://m.shnenglu.com/alantop/archive/2006/05/13/7049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/alantop/comments/commentRss/7049.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/alantop/services/trackbacks/7049.html</trackback:ping><description><![CDATA[鍐欎竴涓彁浜ょ綉欏佃〃鍗曠殑紼嬪簭銆傛瘮杈冧簡涓涓婹ueryInterface鎺ュ彛鏌ヨ鍜屼嬌鐢↖Dispatch 鎺ュ彛榪涜鎿嶄綔<br />銆?br />閫氳繃 QueryInterface 鎺ュ彛鏌ヨ錛岀劧鍚庡啀榪涜鏉′歡鍒ゆ柇鏄劇劧鏄瘮杈冪儲鐞愮殑,浣嗘槸鏁堢巼姣旇緝楂樸傞傚悎鐗瑰畾鐨勫凡鐭ョ綉欏佃璁″唴瀹圭殑紼嬪簭銆?br />渚嬪鑷姩榪涘叆126閭鐨勭▼搴忋?br /><br />鐩存帴浣跨敤 IDispatch 鎺ュ彛榪涜鎿嶄綔鐨勶紝榪欎釜鏂瑰紡鎵ц璧鋒潵紼嶅井鎱竴浜涳紝浣嗙▼搴忔瘮杈冪畝鍗曘?br /><br />鎵句竴涓繖涓祫鏂橧ShellWindows銆?img src ="http://m.shnenglu.com/alantop/aggbug/7049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/alantop/" target="_blank">AlanTop</a> 2006-05-13 03:29 <a href="http://m.shnenglu.com/alantop/archive/2006/05/13/7049.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浜岃繘鍒跺眰嬈′笂浣跨敤緇勪歡鐨勬柟娉曪細http://m.shnenglu.com/alantop/archive/2006/04/29/6467.htmlAlanTopAlanTopSat, 29 Apr 2006 11:08:00 GMThttp://m.shnenglu.com/alantop/archive/2006/04/29/6467.htmlhttp://m.shnenglu.com/alantop/comments/6467.htmlhttp://m.shnenglu.com/alantop/archive/2006/04/29/6467.html#Feedback0http://m.shnenglu.com/alantop/comments/commentRss/6467.htmlhttp://m.shnenglu.com/alantop/services/trackbacks/6467.html

鍖呭 (containment) 錛氫竴涓粍浠跺寘鍚叾浠栫粍浠剁殑鎺ュ彛鎸囬拡銆?/span>

鑱氬悎 (aggregation) 錛氬閮ㄧ粍浠剁洿鎺ヤ紶閫掑唴閮ㄧ粍浠剁殑鎺ュ彛鎸囬拡緇欏鎴風殑緇勪歡鐨勫鐢ㄦ満鍒?/span> .



AlanTop 2006-04-29 19:08 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              欧美成人精品激情在线观看| 国产一本一道久久香蕉| 一区二区高清| 一本色道久久88亚洲综合88| 亚洲日本中文字幕免费在线不卡| 久久久久久成人| 另类欧美日韩国产在线| 免费看精品久久片| 亚洲精品视频在线观看免费| 一本久久a久久免费精品不卡| 亚洲专区在线视频| 欧美在线视频免费播放| 久久伊人精品天天| 国产精品对白刺激久久久| 国产欧美日本在线| 亚洲啪啪91| 先锋影音一区二区三区| 久久亚洲欧美| 艳妇臀荡乳欲伦亚洲一区| 在线综合亚洲欧美在线视频| 久久gogo国模裸体人体| 欧美日本韩国在线| 韩日成人av| 亚洲一区日本| 欧美xxx成人| 亚洲欧美日韩国产中文| 欧美成人亚洲成人日韩成人| 国产精品综合久久久| 亚洲精品欧洲| 久久漫画官网| 亚洲一区三区电影在线观看| 蜜桃久久精品乱码一区二区| 欧美性视频网站| 亚洲精品一区二区三区福利| 欧美一区三区三区高中清蜜桃| 欧美激情bt| 久久久999成人| 国产免费观看久久| 一本色道久久综合亚洲精品小说| 久久视频免费观看| 正在播放亚洲一区| 欧美精品在线播放| 亚洲欧洲一区二区三区在线观看| 久久精品国产免费| 亚洲一级黄色片| 欧美伦理在线观看| 亚洲激情在线激情| 麻豆精品视频在线观看视频| 亚洲欧美国产毛片在线| 欧美视频一区二区三区| 亚洲国产免费看| 欧美一级视频精品观看| 在线亚洲国产精品网站| 欧美日本不卡高清| 一个人看的www久久| 欧美一区二区三区视频在线观看 | 亚洲国产中文字幕在线观看| 欧美伊人久久久久久午夜久久久久 | 亚洲日本中文字幕| 亚洲欧美国产另类| 精品不卡一区| 亚洲欧美日韩一区二区在线 | 亚洲欧美高清| 国产精品国产a级| 亚洲在线播放| 亚洲视频二区| 国产精品专区h在线观看| 亚洲欧美日韩一区二区三区在线| 亚洲欧洲在线看| 欧美成人一区二区| 一区二区三区产品免费精品久久75 | 精品不卡一区二区三区| 久久一区二区三区av| 久久精品国产一区二区三区免费看| 国产亚洲免费的视频看| 久久人人爽爽爽人久久久| 久久久伊人欧美| 夜夜嗨av一区二区三区四区| 免费成人网www| 国产亚洲精品自拍| 欧美在线观看一区| 国产精品福利影院| 国产区精品在线观看| 久久精品一本| 久久综合九色九九| 日韩一级裸体免费视频| 日韩亚洲精品视频| 国产偷国产偷亚洲高清97cao| 久久深夜福利| 欧美精品日韩| 欧美在线三区| 欧美1区2区视频| 亚洲自拍三区| 麻豆精品视频| 欧美一区视频在线| 欧美大片免费| 欧美影院在线| 欧美精品福利视频| 日韩午夜高潮| 亚洲欧美日韩精品| 久久综合久久久久88| 免费视频久久| 亚洲主播在线| 久久久免费观看视频| 亚洲桃花岛网站| 久久躁狠狠躁夜夜爽| 欧美一区二区三区视频免费播放| 麻豆精品视频在线观看视频| 亚洲欧美日韩电影| 欧美成ee人免费视频| 久久黄色影院| 国产精品videossex久久发布| 久久综合久久久久88| 国产精品福利av| 亚洲欧洲日本在线| 黄色精品免费| 欧美一区激情视频在线观看| 亚洲视频一区二区| 欧美国产先锋| 欧美激情偷拍| 在线精品视频免费观看| 亚洲伊人网站| 亚洲午夜精品久久| 欧美激情视频网站| 欧美a级片一区| 伊人婷婷久久| 欧美在线观看一二区| 午夜精品美女久久久久av福利| 欧美激情一区二区三区全黄| 欧美成人精品在线播放| 狠狠色综合网站久久久久久久| 亚洲综合三区| 久久国产精品99精品国产| 国产精品久久久久久久久久久久 | 欧美自拍丝袜亚洲| 午夜欧美精品| 国产麻豆综合| 欧美一级免费视频| 久久精品亚洲国产奇米99| 国产欧美一区二区三区久久| 亚洲一二三区精品| 欧美一区二区三区的| 国产精品久久久久国产精品日日| 亚洲伦理自拍| 午夜在线精品| 国产午夜精品理论片a级大结局 | 欧美精品在线视频观看| 欧美国产综合| 日韩视频在线播放| 欧美日韩视频在线| 亚洲一区二区三区久久| 久久成人羞羞网站| 狠狠久久婷婷| 欧美成人日本| 夜夜爽99久久国产综合精品女不卡| 99视频精品全部免费在线| 欧美日韩三级| 午夜精品久久久久久久男人的天堂 | 亚洲国产日韩欧美在线图片| 免费试看一区| 亚洲精品影视在线观看| 午夜精品久久| 在线精品视频一区二区| 欧美顶级少妇做爰| 亚洲午夜性刺激影院| 久久久久久精| 亚洲精品四区| 国产伪娘ts一区| 欧美日韩精品一区二区三区四区| 亚洲欧美日韩国产成人精品影院| 免费观看在线综合| 亚洲影视在线| 在线日本成人| 国产精品一香蕉国产线看观看| 久久亚洲春色中文字幕| 一区二区欧美国产| 免费日韩av片| 久久国产日韩欧美| 美国成人毛片| 亚洲午夜国产成人av电影男同| 国产亚洲毛片在线| 欧美日韩免费在线观看| 欧美一区二区三区啪啪| 亚洲精品乱码久久久久久日本蜜臀| 欧美一区综合| 一区二区三区欧美成人| 狠狠干成人综合网| 国产精品久在线观看| 久久一日本道色综合久久| 久久精品在这里| 欧美调教视频| 久久久久九九视频| 国内精品久久久久影院优 | 中文精品在线| 亚洲日韩中文字幕在线播放| 久久久噜噜噜久久人人看| 亚洲图片欧美午夜| 1769国产精品| 国色天香一区二区| 国产亚洲精品bt天堂精选|