锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美激情精品久久久久久久九九九,日韩精品久久无码人妻中文字幕 ,久久精品水蜜桃av综合天堂http://m.shnenglu.com/phenix-burn/闈欒?鏃犳緶涔?鍑鑰?鏃犺椽涔?鏃犺椽鏃犳緶鑰?嫻風撼鐧懼窛涔?zh-cnTue, 13 May 2025 05:28:15 GMTTue, 13 May 2025 05:28:15 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闃呰鍏ㄦ枃

]]>
緗戦〉婧愮爜榪囨護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鎶鏈緗戦〉婧愮爜榪涜榪囨護,鏈枃閮ㄥ垎鎽樿嚜銆奌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殑璋冪敤鐨勬弿榪幫紙娉細urlmon.dll鍐呴儴瀹炵幇浜咺InternetProtocol鍜孖InternetProtocolSink鎺ュ彛錛夛細
 
1銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtocolRoot::Start鏂規硶錛圛InternetProtocol浠嶪InternetProtocolRoot媧劇敓錛夛紱
2銆?nbsp;WEB澶勭悊鍣ㄥ厛鍚庤皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtocolSink::ReportProgress 鍜孖InternetProtocolSink::ReportData鏂規硶錛?/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鏂規硶錛?/div>
4銆?nbsp;MIME榪囨護鍣ㄨ皟鐢╓EB澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規硶錛?/div>
5銆?nbsp;WEB澶勭悊鍣ㄨ皟鐢∕IME榪囨護鍣ㄧ殑IInternetProtoco::Read鏂規硶錛?/div>
 
鍥犳錛岃瀹炵幇MIME榪囨護鍣紝鏈夊嚑涓噸瑕佺殑鏂規硶錛?/div>
1銆両InternetProtocolRoot::Start鏂規硶錛?/div>
HRESULT Start(
    [in] LPCWSTR szUrl,
    [in] IInternetProtocolSink *pOIProtSink,
    [in] IInternetBindInfo *pOIBindInfo,
    [in] DWORD grfPI,
    [in] DWORD dwReserved
);
浣滀負MIME榪囨護瀵硅薄錛宻zUrl浼犲叆鐨勬槸MIME鐨勭被鍨嬶紙濡傛灉鏄痭ame space handlers瀵硅薄錛屽垯璇ュ弬鏁頒負涓涓嵆灝嗕笅杞芥垨瑙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鏂規硶涓紝鎴戜滑蹇呴渶鍋氱殑瀹為檯涓婂彧鏄繚瀛榰rlmon.dll鎻愪緵鐨処InternetProtocolSink
鍜孖InternetProtocol鎺ュ彛銆?/div>
 
2銆両InternetProtocolSink::ReportProgress鏂規硶錛?/div>
HRESULT ReportProgress(
    [in] ULONG ulStatusCode,
    [in] LPCWSTR szStatusText 錛?/div>
浣滀負MIME榪囨護鍣紝ulStatusCode涓鑸兘鏄疊INDSTATUS_CACHEFILENAMEAVAILABLE , 褰搖lStatusCode涓築INDSTATUS_CACHEFILENAMEAVAILABLE鏃訛紝szStatusText涓轟復鏃剁紦瀛樻枃浠剁殑璺緞鍚嶇О錛屼絾鏈変竴浜涚綉欏靛茍涓嶅啓鍒扮紦瀛橀噷錛屾墍浠zStatusText鍙兘涓虹┖瀛楃涓層?/div>
 
3銆両InternetProtocolSink::ReportData鏂規硶錛?/div>
HRESULT ReportData(
    [in] DWORD grfBSCF,
    [in] ULONG ulProgress,
    [in] ULONG ulProgressMax
);
IE涓嬭澆鏂囦歡榪囩▼涓垨涓嬭澆瀹屾瘯鏃朵細璋冪敤MIME榪囨護鍣ㄧ殑ReportData鏂規硶錛寀lProgressMax涓烘枃浠舵繪槸鏁版嵁閲忥紝ulProgress涓轟笅杞借繘搴︼紝鐞嗚涓婂綋鏂囦歡鍏ㄩ儴涓嬭澆瀹屽悗,ulProgress搴旂瓑浜巙lProgressMax(瀹為檯涓婏紝褰撶綉欏墊枃浠朵笉鏄緢澶ф椂錛屽嵆浣縰lProgress涓嶇瓑浜巙lProgressMax鏃訛紝鏂囦歡涔熷彲鑳藉叏閮ㄤ笅杞戒笅鏉?錛岃繕鏈変竴涓弽搴旀枃浠朵笅杞芥儏鍐電殑鍙傛暟鏄痝rfBSCF銆傛湁鏃訛紝ReportData鏂規硶浼氳Web澶勭悊鍣ㄨ皟鐢ㄥ嬈°?
    ReportData鏄繃婊ょ綉欏靛唴瀹規垨淇敼緗戦〉鍐呭姣旇緝鍚堥傜殑鍦版柟銆傚湪姝ゅ湴錛屽彲浠ュ皢緗戦〉鍐呭閫氳繃璋冪敤Read淇濆瓨鍒拌嚜宸茬殑緙撳瓨鎴栨祦涓茍鍋氶傚綋鐨勫鐞嗭紙娉ㄦ剰媯鏌ュ瓧絎︾殑緙栫爜錛夈?/div>
鏈鍚庯紝鍒繕浜嗚皟鐢╓eb澶勭悊鍣ㄧ殑IInternetProtocolSink::ReportData鏂規硶錛屽悜瀹冩眹鎶ユ暟鎹笅杞界殑鎯呭喌銆俉eb澶勭悊鍣ㄥ緱鍒版閫氱煡鍚庯紝灝變細璋冪敤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 ) 鍛紝 鍥犱負鎴戝彂鐜版煇浜涙儏鍐典笅錛孯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("鍗冨害"));
       涓烘祻瑙堝櫒鍑嗗濂芥暟鎹細
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鏂規硶
    璇ユ柟娉曠敱WEB澶勭悊鍣ㄨ皟鐢ㄦ潵鍙栧緱嫻忚鍣ㄨ瑙f瀽鐨勬暟鎹傚湪涓婁竴鏂規硶ReportData涓?/div>
鎴戜滑宸茬粡灝嗘墍鏈夋暟鎹紦瀛樺埌嫻佷腑錛屽洜姝わ紝榪欓噷鍙渶灝嗘祦涓殑鏁版嵁榪斿洖緇橶EB澶勭悊鍣ㄣ?/div>
涓嬮潰鐨勪唬鐮佺ず渚嬩簡Read涓殑綆鍗曞鐞嗭細
                  DataStream->Read(pv, cb, pcbRead);
       Written+=*pcbRead;
       if (Written == TotalSize)
       {
              return S_FALSE;
       }
       else
       {
              return S_OK;
       }
    鍗冧竾娉ㄦ剰錛屽湪鏁版嵁宸茶鍙栧畬姣曟椂瑕佽繑鍥濻_FALSE , 涓嶇劧鍙兘瀵艱嚧Read琚棤絀峰驚鐜皟鐢ㄣ傚鐞嗗畬榪欏嚑涓柟娉曞悗錛屽熀鏈槸澶у姛閫犳垚錛屽叾瀹冧竴浜涙柟娉曞鐞嗗崄鍒嗙畝鍗曪紝鍙互鍙傝冧笂闈㈡彁鍒扮殑渚嬪瓙銆?span> 

婧愪唬鐮佷笅杞?/font>


]]>
麻豆亚洲AV永久无码精品久久| 国产激情久久久久影院老熟女| 久久久这里只有精品加勒比| 老男人久久青草av高清| 久久久久亚洲AV无码网站| 91精品无码久久久久久五月天| 久久精品国产精品亚洲下载| 国产成人精品综合久久久久| 久久精品国产欧美日韩99热| 麻豆亚洲AV永久无码精品久久 | 久久久久国产一级毛片高清版| 久久这里只精品国产99热| 久久婷婷人人澡人人| 99久久精品国产麻豆| 亚洲欧美国产精品专区久久| 久久国产精品久久国产精品| 日韩欧美亚洲综合久久影院Ds| 国产成人久久精品区一区二区| 亚洲性久久久影院| 99久久亚洲综合精品成人| 久久人人爽人人爽人人片av高请| 久久久久香蕉视频| 亚洲一区二区三区日本久久九| 一本色综合网久久| 亚洲?V乱码久久精品蜜桃| 91亚洲国产成人久久精品| 久久青青草原亚洲av无码app| 久久久久久免费视频| 无码人妻少妇久久中文字幕| 国产精品99久久久久久宅男| 久久久久久免费一区二区三区| 午夜精品久久久久久久| 欧美精品乱码99久久蜜桃| 久久婷婷五月综合成人D啪| 国产精品VIDEOSSEX久久发布| 久久精品国产一区| 99久久人妻无码精品系列蜜桃| 久久久久AV综合网成人| 国产精品乱码久久久久久软件| 久久精品这里热有精品| 久久精品国产精品亚洲毛片 |