哪位大哥,能帮我把下面的代码改写成 Delphi的,谢谢.DWORD CFiltRedirFilter::OnUrlMap(CHttpFilterContext* pCtxt,
   PHTTP_FILTER_URL_MAP pMapInfo)
{
   CHAR szRedirect [256];
   if (strstr (pMapInfo->pszURL, "DoRedirect"))
   {
      CHAR szRedirect [256];
      // replace www.microsoft.com with desired server
      sprintf(szRedirect, "Location: http://%s\r\n\r\n", "www.microsoft.com");
      pCtxt->ServerSupportFunction ( SF_REQ_SEND_RESPONSE_HEADER, 
            (LPVOID) "302 Redirect", 
            (DWORD *) szRedirect, 
            0 );
      // Print a message to the debug window
      ISAPITRACE1 ("Redirecting to: %s\n", szRedirect);
      // we are done with this request
      return SF_STATUS_REQ_FINISHED_KEEP_CONN;
   }
   // URL did not contain a DoRedirect string.
   return SF_STATUS_REQ_NEXT_NOTIFICATION;
}

解决方案 »

  1.   

    关注,我对DWORD搞不清楚,那位高手指点一下!
      

  2.   

    DWORD 32位的无符号整型好象  到windows.h里找  里面有定义
      

  3.   

    DWORD有定议,不过这是VC++中的类,又不完全是SDK,不好翻
      

  4.   

    在Delphi中DWORD的定义就是:
    type
      DWORD = cardinal;
    这个与C++和ASM中的DWORD定义都是一样的。
      

  5.   

    请参照:
    CFiltRedirFilter.OnUrlMap(pCtxt : ^CHttpFilterContext; pMapInfo : PHTTP_FILTER_URL_MAP) : Longword ;
    var
    szRedirect : array[0..255] of char;
    szRedirect1 : array[0..255] of char;

    begin
    if AnsiCompareStr(pMapInfo^.pszURL,'DoRedirect') then begin
    szRedirect := Format("Location: http://%s" + #13#10#13#10,"www.microsoft.com");
    pCtxt^.ServerSupportFunction(SF_REQ_SEND_RESPONSE_HEADER, 
                 (LPVOID) "302 Redirect", 
                 (DWORD *) szRedirect, 
                 0
         );
    ISAPITRACE1 ("Redirecting to: %s"+#10, szRedirect);
    result := SF_STATUS_REQ_FINISHED_KEEP_CONN;
    end;
    result := SF_STATUS_REQ_NEXT_NOTIFICATION;
    end;