锘??xml version="1.0" encoding="utf-8" standalone="yes"?>77777亚洲午夜久久多人,77777亚洲午夜久久多人,久久精品视频网http://m.shnenglu.com/phenix-burn/闈?rùn)鑰?鏃犳緶涔?鍑鑰?鏃犺椽涔?鏃犺椽鏃犳緶鑰?嫻風(fēng)撼鐧懼窛涔?zh-cnSun, 29 Jun 2025 00:25:35 GMTSun, 29 Jun 2025 00:25:35 GMT60鑾峰緱Frame鎴朓Frame涓殑IHTMLDocumnet2鎺ュ彛http://m.shnenglu.com/phenix-burn/archive/2006/09/05/12059.html鍑や箣鐒?/dc:creator>鍑や箣鐒?/author>Tue, 05 Sep 2006 13:07:00 GMThttp://m.shnenglu.com/phenix-burn/archive/2006/09/05/12059.htmlhttp://m.shnenglu.com/phenix-burn/comments/12059.htmlhttp://m.shnenglu.com/phenix-burn/archive/2006/09/05/12059.html#Feedback3http://m.shnenglu.com/phenix-burn/comments/commentRss/12059.htmlhttp://m.shnenglu.com/phenix-burn/services/trackbacks/12059.html闃呰鍏ㄦ枃

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

       瑕佸疄鐜癏TML浠g爜榪囨護(hù)蹇呴渶娉ㄥ唽涓涓垨澶氫釜MIME榪囨護(hù)鍣紙Pluggable MIME Filter錛夈侻IME榪囨護(hù)鍣ㄦ槸涓涓狢OM瀵硅薄錛屽繀闇瀹炵幇IInternetProtocolSink鍜孖InternetProtocol鎺ュ彛銆?/div>
       鍦ㄥ疄鐜癕IME榪囨護(hù)鍣ㄥ璞′箣鍓嶏紝鍏堢湅涓涓嬨奝luggable Protocols Overview銆嬩竴鏂囦腑鍏充簬MIME榪囨護(hù)鍣ㄤ笌WEB澶勭悊鍣紙transaction handler錛屽嵆urlmon.dll錛変箣闂存帴鍙g殑璋冪敤鐨勬弿榪幫紙娉細(xì)urlmon.dll鍐呴儴瀹炵幇浜?jiǎn)IInternetProtocol鍜孖InternetProtocolSink鎺ュ彛錛夛細(xì)
 
1銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護(hù)鍣ㄧ殑IInternetProtocolRoot::Start鏂規(guī)硶錛圛InternetProtocol浠嶪InternetProtocolRoot媧劇敓錛夛紱
2銆?nbsp;WEB澶勭悊鍣ㄥ厛鍚庤皟鐢∕IME榪囨護(hù)鍣ㄧ殑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榪囨護(hù)鍣ㄨ皟鐢╓EB澶勭悊鍣ㄧ殑IInternetProtocol::Read鏂規(guī)硶錛?/div>
4銆?nbsp;MIME榪囨護(hù)鍣ㄨ皟鐢╓EB澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規(guī)硶錛?/div>
5銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護(hù)鍣ㄧ殑IInternetProtoco::Read鏂規(guī)硶錛?/div>
 
鍥犳錛岃瀹炵幇MIME榪囨護(hù)鍣紝鏈夊嚑涓噸瑕佺殑鏂規(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榪囨護(hù)瀵硅薄錛宻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榪囨護(hù)鍣紝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榪囨護(hù)鍣ㄧ殑ReportData鏂規(guī)硶錛寀lProgressMax涓烘枃浠舵繪槸鏁版嵁閲忥紝ulProgress涓轟笅杞借繘搴︼紝鐞嗚涓婂綋鏂囦歡鍏ㄩ儴涓嬭澆瀹屽悗,ulProgress搴旂瓑浜巙lProgressMax(瀹為檯涓婏紝褰撶綉欏墊枃浠朵笉鏄緢澶ф椂錛屽嵆浣縰lProgress涓嶇瓑浜巙lProgressMax鏃訛紝鏂囦歡涔熷彲鑳藉叏閮ㄤ笅杞戒笅鏉?錛岃繕鏈変竴涓弽搴旀枃浠朵笅杞芥儏鍐電殑鍙傛暟鏄痝rfBSCF銆傛湁鏃訛紝ReportData鏂規(guī)硶浼?xì)琚玏eb澶勭悊鍣ㄨ皟鐢ㄥ嬈°?
    ReportData鏄繃婊ょ綉欏靛唴瀹規(guī)垨淇敼緗戦〉鍐呭姣旇緝鍚堥傜殑鍦版柟銆傚湪姝ゅ湴錛屽彲浠ュ皢緗戦〉鍐呭閫氳繃璋冪敤Read淇濆瓨鍒拌嚜宸茬殑緙撳瓨鎴栨祦涓茍鍋氶傚綋鐨勫鐞嗭紙娉ㄦ剰媯(gè)鏌ュ瓧絎︾殑緙栫爜錛夈?/div>
鏈鍚庯紝鍒繕?shù)簡(jiǎn)璋冪敤Web澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規(guī)硶錛屽悜瀹冩眹鎶ユ暟鎹笅杞界殑鎯呭喌銆俉eb澶勭悊鍣ㄥ緱鍒版閫氱煡鍚庯紝灝變細(xì)璋冪敤MIME榪囨護(hù)鍣ㄧ殑IInternetProtocol::Read錛屾鏃訛紝浣犲氨鍙互灝嗕慨鏀瑰悗鐨勬暟鎹氦緇橶EB澶勭悊鍣ㄣ?/div>
    涓嬮潰鐨勪唬鐮佺ず渚嬩簡(jiǎn)濡備綍鍦≧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>
涓嬮潰鐨勪唬鐮佺ず渚嬩簡(jiǎn)Read涓殑綆鍗曞鐞嗭細(xì)
                  DataStream->Read(pv, cb, pcbRead);
       Written+=*pcbRead;
       if (Written == TotalSize)
       {
              return S_FALSE;
       }
       else
       {
              return S_OK;
       }
    鍗冧竾娉ㄦ剰錛屽湪鏁版嵁宸茶鍙栧畬姣曟椂瑕佽繑鍥濻_FALSE , 涓嶇劧鍙兘瀵艱嚧Read琚棤絀峰驚鐜皟鐢ㄣ傚鐞嗗畬榪欏嚑涓柟娉曞悗錛屽熀鏈槸澶у姛閫犳垚錛屽叾瀹冧竴浜涙柟娉曞鐞嗗崄鍒嗙畝鍗曪紝鍙互鍙傝冧笂闈㈡彁鍒扮殑渚嬪瓙銆?span> 

婧愪唬鐮佷笅杞?/font>


]]>
久久天天躁狠狠躁夜夜2020一| 国产高潮国产高潮久久久91 | 色综合色天天久久婷婷基地| 人妻少妇久久中文字幕一区二区| 久久午夜福利无码1000合集| 一本久久免费视频| 色婷婷久久综合中文久久蜜桃av | 久久久久亚洲AV成人网人人软件| 欧美久久精品一级c片片| 国产ww久久久久久久久久| 亚洲精品午夜国产va久久| 久久国产精品无码HDAV| 久久久久久国产精品免费免费| 热99RE久久精品这里都是精品免费| 久久精品国产男包| 久久精品国产亚洲AV高清热| 久久人搡人人玩人妻精品首页 | 一级做a爰片久久毛片人呢| 武侠古典久久婷婷狼人伊人| 久久精品国产亚洲av影院| 一级a性色生活片久久无| 久久中文娱乐网| 欧美一区二区三区久久综| 亚洲精品NV久久久久久久久久| 国产亚洲精品美女久久久| 久久婷婷五月综合色奶水99啪| 99久久精品国产一区二区| 99久久免费国产精精品| 亚洲精品无码久久千人斩| 久久精品桃花综合| 久久免费香蕉视频| 久久亚洲AV永久无码精品| 国内精品久久久久久久coent | 丰满少妇人妻久久久久久| 亚洲综合伊人久久大杳蕉| 久久亚洲精品国产亚洲老地址| 久久久久国产一区二区三区| 成人妇女免费播放久久久| 97久久精品无码一区二区天美| 久久人做人爽一区二区三区 | 久久精品成人欧美大片|