锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久国语露脸精品国产,久久久久亚洲精品无码蜜桃,区亚洲欧美一级久久精品亚洲精品成人网久久久久 http://www.shnenglu.com/phenix-burn/category/2547.html闈欒?鏃犳緶涔?鍑鑰?鏃犺椽涔?鏃犺椽鏃犳緶鑰?嫻風(fēng)撼鐧懼窛涔?zh-cnWed, 21 May 2008 07:34:04 GMTWed, 21 May 2008 07:34:04 GMT60鑾峰緱Frame鎴朓Frame涓殑IHTMLDocumnet2鎺ュ彛http://www.shnenglu.com/phenix-burn/archive/2006/09/05/12059.html鍑や箣鐒?/dc:creator>鍑や箣鐒?/author>Tue, 05 Sep 2006 13:07:00 GMThttp://www.shnenglu.com/phenix-burn/archive/2006/09/05/12059.htmlhttp://www.shnenglu.com/phenix-burn/comments/12059.htmlhttp://www.shnenglu.com/phenix-burn/archive/2006/09/05/12059.html#Feedback3http://www.shnenglu.com/phenix-burn/comments/commentRss/12059.htmlhttp://www.shnenglu.com/phenix-burn/services/trackbacks/12059.html闃呰鍏ㄦ枃

]]>
緗戦〉婧愮爜榪囨護http://www.shnenglu.com/phenix-burn/archive/2006/08/29/11824.html鍑や箣鐒?/dc:creator>鍑や箣鐒?/author>Tue, 29 Aug 2006 08:43:00 GMThttp://www.shnenglu.com/phenix-burn/archive/2006/08/29/11824.htmlhttp://www.shnenglu.com/phenix-burn/comments/11824.htmlhttp://www.shnenglu.com/phenix-burn/archive/2006/08/29/11824.html#Feedback1http://www.shnenglu.com/phenix-burn/comments/commentRss/11824.htmlhttp://www.shnenglu.com/phenix-burn/services/trackbacks/11824.html 鏈緥閫氳繃Mime filter鎶鏈緗戦〉婧愮爜榪涜榪囨護,鏈枃閮ㄥ垎鎽樿嚜銆奌TML浠g爜榪囨護鎶鏈?/a>

       瑕佸疄鐜癏TML浠g爜榪囨護蹇呴渶娉ㄥ唽涓涓垨澶氫釜MIME榪囨護鍣紙Pluggable MIME Filter錛夈侻IME榪囨護鍣ㄦ槸涓涓狢OM瀵硅薄錛屽繀闇瀹炵幇IInternetProtocolSink鍜孖InternetProtocol鎺ュ彛銆?/div>
       鍦ㄥ疄鐜癕IME榪囨護鍣ㄥ璞′箣鍓嶏紝鍏堢湅涓涓嬨奝luggable Protocols Overview銆嬩竴鏂囦腑鍏充簬MIME榪囨護鍣ㄤ笌WEB澶勭悊鍣紙transaction handler錛屽嵆urlmon.dll錛変箣闂存帴鍙g殑璋冪敤鐨勬弿榪幫紙娉細(xì)urlmon.dll鍐呴儴瀹炵幇浜咺InternetProtocol鍜孖InternetProtocolSink鎺ュ彛錛夛細(xì)
 
1銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtocolRoot::Start鏂規(guī)硶錛圛InternetProtocol浠嶪InternetProtocolRoot媧劇敓錛夛紱
2銆?nbsp;WEB澶勭悊鍣ㄥ厛鍚庤皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtocolSink::ReportProgress 鍜孖InternetProtocolSink::ReportData鏂規(guī)硶錛?/div>
3銆?span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">        MIME榪囨護鍣ㄨ皟鐢╓EB澶勭悊鍣ㄧ殑IInternetProtocol::Read鏂規(guī)硶錛?/div>
4銆?nbsp;MIME榪囨護鍣ㄨ皟鐢╓EB澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規(guī)硶錛?/div>
5銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtoco::Read鏂規(guī)硶錛?/div>
 
鍥犳錛岃瀹炵幇MIME榪囨護鍣紝鏈夊嚑涓噸瑕佺殑鏂規(guī)硶錛?/div>
1銆両InternetProtocolRoot::Start鏂規(guī)硶錛?/div>
HRESULT Start(
    [in] LPCWSTR szUrl,
    [in] IInternetProtocolSink *pOIProtSink,
    [in] IInternetBindInfo *pOIBindInfo,
    [in] DWORD grfPI,
    [in] DWORD dwReserved
);
浣滀負(fù)MIME榪囨護瀵硅薄錛宻zUrl浼犲叆鐨勬槸MIME鐨勭被鍨嬶紙濡傛灉鏄痭ame space handlers瀵硅薄錛屽垯璇ュ弬鏁頒負(fù)涓涓嵆灝嗕笅杞芥垨瑙f瀽鐨刄RL錛夈傝嫢鏄綘鎯沖緱鍒癠RL錛屽彲浠ラ氳繃pOIBindInfo 鎺ュ彛寰楀埌錛屼笅闈㈡槸紺轟緥錛?/div>
       LPOLESTR pwzUrl ;           
       ULONG uElFetched ;
       pIBindInfo->GetBindString( BINDSTRING_URL , &pwzUrl , 1 , &uElFetched ) 錛?/div>
pOIProtSink鏄敱urlmon.dll鎻愪緵鐨処InternetProtocolSink鎺ュ彛錛屽洜涓哄湪鍚庨潰鐨勫鐞嗚繃紼嬩腑錛岄渶瑕佽皟鐢ㄥ埌璇ユ帴鍙o紝鎵浠ヨ灝嗗畠淇濆瓨錛?/div>
grfPI鏄竴涓灇涓懼彉閲忥紝蹇呴渶鍖呭惈PI_FILTER_MODE鏍囧織錛岃〃紺鴻瀵硅薄榪愯鍦╢ilter妯″紡涓?/div>
dwReserved鏄竴涓寚鍚慞ROTOCOLFILTERDATA緇撴瀯鐨勬寚閽堬紝璇ョ粨鏋勭殑pProtocol鎴愬憳鏄敱urlmon.dll鎻愪緵鐨処InternetProtocol鎺ュ彛錛屽洜涓哄湪鍚庨潰鐨勫鐞嗚繃紼嬩腑闇瑕佽皟鐢ㄥ埌璇ユ帴鍙o紝鎵浠ヨ灝嗗畠淇濆瓨銆傚疄闄呬笂璇ユ帴鍙d篃鍙互閫氳繃pOIProtSink鍙傛暟璋冪敤QueryInterface寰楀埌錛屽悓鏍稰ROTOCOLFILTERDATA緇撴瀯鐨刾ProtocolSink涓巔OIProtSink閮芥槸鎸囧悜鍚屼竴涓帴鍙c?/div>
       鍦⊿tart鏂規(guī)硶涓紝鎴戜滑蹇呴渶鍋氱殑瀹為檯涓婂彧鏄繚瀛榰rlmon.dll鎻愪緵鐨処InternetProtocolSink
鍜孖InternetProtocol鎺ュ彛銆?/div>
 
2銆両InternetProtocolSink::ReportProgress鏂規(guī)硶錛?/div>
HRESULT ReportProgress(
    [in] ULONG ulStatusCode,
    [in] LPCWSTR szStatusText 錛?/div>
浣滀負(fù)MIME榪囨護鍣紝ulStatusCode涓鑸兘鏄疊INDSTATUS_CACHEFILENAMEAVAILABLE , 褰搖lStatusCode涓築INDSTATUS_CACHEFILENAMEAVAILABLE鏃訛紝szStatusText涓轟復(fù)鏃剁紦瀛樻枃浠剁殑璺緞鍚嶇О錛屼絾鏈変竴浜涚綉欏靛茍涓嶅啓鍒扮紦瀛橀噷錛屾墍浠zStatusText鍙兘涓虹┖瀛楃涓層?/div>
 
3銆両InternetProtocolSink::ReportData鏂規(guī)硶錛?/div>
HRESULT ReportData(
    [in] DWORD grfBSCF,
    [in] ULONG ulProgress,
    [in] ULONG ulProgressMax
);
IE涓嬭澆鏂囦歡榪囩▼涓垨涓嬭澆瀹屾瘯鏃朵細(xì)璋冪敤MIME榪囨護鍣ㄧ殑ReportData鏂規(guī)硶錛寀lProgressMax涓烘枃浠舵繪槸鏁版嵁閲忥紝ulProgress涓轟笅杞借繘搴︼紝鐞嗚涓婂綋鏂囦歡鍏ㄩ儴涓嬭澆瀹屽悗,ulProgress搴旂瓑浜巙lProgressMax(瀹為檯涓婏紝褰撶綉欏墊枃浠朵笉鏄緢澶ф椂錛屽嵆浣縰lProgress涓嶇瓑浜巙lProgressMax鏃訛紝鏂囦歡涔熷彲鑳藉叏閮ㄤ笅杞戒笅鏉?錛岃繕鏈変竴涓弽搴旀枃浠朵笅杞芥儏鍐電殑鍙傛暟鏄痝rfBSCF銆傛湁鏃訛紝ReportData鏂規(guī)硶浼?xì)琚玏eb澶勭悊鍣ㄨ皟鐢ㄥ嬈°?
    ReportData鏄繃婊ょ綉欏靛唴瀹規(guī)垨淇敼緗戦〉鍐呭姣旇緝鍚堥傜殑鍦版柟銆傚湪姝ゅ湴錛屽彲浠ュ皢緗戦〉鍐呭閫氳繃璋冪敤Read淇濆瓨鍒拌嚜宸茬殑緙撳瓨鎴栨祦涓茍鍋氶傚綋鐨勫鐞嗭紙娉ㄦ剰媯鏌ュ瓧絎︾殑緙栫爜錛夈?/div>
鏈鍚庯紝鍒繕浜嗚皟鐢╓eb澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規(guī)硶錛屽悜瀹冩眹鎶ユ暟鎹笅杞界殑鎯呭喌銆俉eb澶勭悊鍣ㄥ緱鍒版閫氱煡鍚庯紝灝變細(xì)璋冪敤MIME榪囨護鍣ㄧ殑IInternetProtocol::Read錛屾鏃訛紝浣犲氨鍙互灝嗕慨鏀瑰悗鐨勬暟鎹氦緇橶EB澶勭悊鍣ㄣ?/div>
    涓嬮潰鐨勪唬鐮佺ず渚嬩簡濡備綍鍦≧eportData涓皟鐢╓eb澶勭悊鍣ㄧ殑Read棰勫厛淇濆瓨鏁版嵁錛?/div>
                     CString Ts("");
       char p[1024];
       HRESULT hr;
       ULONG Readtotal;
       do
       {
              memset(p,0,sizeof(p));
              hr = UrlMonProtocol->Read(p, sizeof(p)-1, &Readtotal);
              CString pTemp(p);
              Ts=Ts+pTemp;
}while((hr != S_FALSE) && (hr != INET_E_DOWNLOAD_FAILURE) && (hr != INET_E_DATA_NOT_AVAILABLE));
 
Read鎴愬姛鍙栧緱鏁版嵁涓鑸彧榪斿洖S_OK鎴朣_FALSE ,榪斿洖S_OK琛ㄧず榪樻湁鏁版嵁錛岃孲_FALSE
琛ㄧず鏁版嵁宸茶鍙栧畬姣曪紝鍥犳寰幆鐨勬潯浠惰涓?hr==S_OK銆傞偅A澶勭殑鏉′歡鍒ゆ柇涓轟粈涔堜笉鏄?/div>
if( hr == S_OK || hr == S_FALSE ) 鍛紝 鍥犱負(fù)鎴戝彂鐜版煇浜涙儏鍐典笅錛孯ead鍙兘榪斿洖鍏?/div>
瀹冨鹼紝浣嗕粛鐒舵湁鎴愬姛璇誨彇涓閮ㄥ垎鏁版嵁鍑烘潵錛屾暟鎹殑澶у皬灝辨槸Readtotal鎸囧畾鐨勫箋傚鏋滃皢
閭i儴鍒嗘暟鎹仐钀斤紝緗戦〉灝嗘棤娉曟甯歌В鏋愩?/div>
       涓嬪垪浠g爜寤虹珛涓存椂鏂囦歡錛?/div>
if (CacheFileName == "")
       {
                     TCHAR FName[512];
CreateUrlCacheEntry(OLE2T(Url), Ts.GetLength(), _T("htm"), FName, 0);
                     CFile hFile;
                     hFile.Open(FName, CFile::modeCreate|CFile::modeWrite);
                     hFile.Write(Ts,Ts.GetLength()); 
                     ReportProgress(BINDSTATUS_CACHEFILENAMEAVAILABLE, T2W(FName));
       }
       淇敼緗戦〉浠g爜錛?/div>
Ts.Replace(_T("鐧懼害"),_T("鍗冨害"));
       涓烘祻瑙堝櫒鍑嗗濂芥暟鎹細(xì)
TotalSize= Ts.GetLength() ;
              CreateStreamOnHGlobal(0, true, &DataStream);
              const char * pTs = Ts.GetBuffer(Ts.GetLength());
              ULONG cbWritten;
              DataStream->Write(pTs,Ts.GetLength(),&cbWritten);
              Ts.ReleaseBuffer();
              pTs = NULL;
 
              ULARGE_INTEGER Dummy;
              _LARGE_INTEGER zero;
              zero.QuadPart =0;
              DataStream->Seek ( zero, STREAM_SEEK_SET, &Dummy);
 
4銆両InternetProtocol::Read鏂規(guī)硶
    璇ユ柟娉曠敱WEB澶勭悊鍣ㄨ皟鐢ㄦ潵鍙栧緱嫻忚鍣ㄨ瑙f瀽鐨勬暟鎹傚湪涓婁竴鏂規(guī)硶ReportData涓?/div>
鎴戜滑宸茬粡灝嗘墍鏈夋暟鎹紦瀛樺埌嫻佷腑錛屽洜姝わ紝榪欓噷鍙渶灝嗘祦涓殑鏁版嵁榪斿洖緇橶EB澶勭悊鍣ㄣ?/div>
涓嬮潰鐨勪唬鐮佺ず渚嬩簡Read涓殑綆鍗曞鐞嗭細(xì)
                  DataStream->Read(pv, cb, pcbRead);
       Written+=*pcbRead;
       if (Written == TotalSize)
       {
              return S_FALSE;
       }
       else
       {
              return S_OK;
       }
    鍗冧竾娉ㄦ剰錛屽湪鏁版嵁宸茶鍙栧畬姣曟椂瑕佽繑鍥濻_FALSE , 涓嶇劧鍙兘瀵艱嚧Read琚棤絀峰驚鐜皟鐢ㄣ傚鐞嗗畬榪欏嚑涓柟娉曞悗錛屽熀鏈槸澶у姛閫犳垚錛屽叾瀹冧竴浜涙柟娉曞鐞嗗崄鍒嗙畝鍗曪紝鍙互鍙傝冧笂闈㈡彁鍒扮殑渚嬪瓙銆?span> 

婧愪唬鐮佷笅杞?/font>


]]>
国产一区二区久久久| 亚洲精品无码久久久久去q| 一本色综合网久久| 久久66热人妻偷产精品9| 99久久精品免费| 亚洲国产成人精品女人久久久| 久久这里只有精品18| 久久久久成人精品无码| 午夜人妻久久久久久久久| 国内精品久久久人妻中文字幕| 国产精品久久久久一区二区三区 | 久久国产精品99国产精| 久久精品一区二区三区中文字幕| 久久大香萑太香蕉av| 久久精品国产91久久麻豆自制| 亚洲AV无一区二区三区久久| 久久精品免费一区二区三区| 国产精品久久久香蕉| 国产L精品国产亚洲区久久| 色天使久久综合网天天| 久久精品国产黑森林| 国产情侣久久久久aⅴ免费| 久久婷婷五月综合97色直播 | 久久精品青青草原伊人| 一本大道加勒比久久综合| 久久久久久久精品妇女99| 日日狠狠久久偷偷色综合96蜜桃| av午夜福利一片免费看久久| 久久久久高潮综合影院| 色偷偷91久久综合噜噜噜噜| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 亚洲国产视频久久| 人妻丰满?V无码久久不卡| 日本精品久久久久中文字幕| 国内精品伊人久久久久影院对白| 国产精品无码久久四虎| 麻豆精品久久精品色综合| 久久中文字幕一区二区| 国产精品天天影视久久综合网| 国产2021久久精品| 国产日韩久久久精品影院首页|