2012-04-10 24 views
1

在我的C#代碼,我想使用InternetQueryOption這是在MSDN定義,如:如何在C#interop中使用InternetQueryOption?

BOOL InternetQueryOption(
    __in  HINTERNET hInternet, 
    __in  DWORD dwOption, 
    __out LPVOID lpBuffer, 
    __inout LPDWORD lpdwBufferLength 
); 

在我的C#代碼,我寫道:

[DllImport("wininet.dll", SetLastError = true)] 
      static extern bool InternetQueryOption(
      IntPtr hInternet, 
      uint dwOption, 
      IntPtr lpBuffer, 
      ref int lpdwBufferLength); 

我的C++代碼:

... 
HINTERNET hRequest = HttpOpenRequest(hConnect, "POST","/BM-Login/auth-cup", NULL, NULL, accept, secureFlags, 0); 
    DWORD dwFlags; 
    DWORD dwBuffLen = sizeof(dwFlags); 

    InternetQueryOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS, 
      (LPVOID)&dwFlags, &dwBuffLen); 

    dwFlags |= SECURITY_FLAG_IGNORE_UNKNOWN_CA; 
     dwFlags |= SECURITY_FLAG_IGNORE_REVOCATION; 
     dwFlags |= SECURITY_FLAG_IGNORE_CERT_DATE_INVALID; 
     dwFlags |= SECURITY_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE; 

    InternetSetOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS, 
          &dwFlags, sizeof (dwFlags)); 
... 

如何在C#中編寫相同的代碼?謝謝。 (對不起,我的英語很糟糕)

+0

正在使用WebRequest,http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx,由於某種原因,不是一個選項? – JamieSee 2012-04-10 14:56:58

+0

傑米看到轉發您的評論作爲答案,我得到它 – amaranth 2012-04-11 10:53:19

+0

發表回答。很高興我能幫上忙。 – JamieSee 2012-04-12 15:22:22

回答

相關問題