0

問題が発生しました: HTTP_LOG_FIELDS_DATA には、メソッドを指定する 3 つのフィールドがあります。

  • USHORT MethodLength;
  • PCHAR メソッド;
  • HTTP_VERB MethodNum;

ただし、AFAICT MethodNum は無視されます (ログでは値が「-」として表示されます)。

MethodLength と Method は連携して動作しますが、fi をそれぞれ 3 と 'GET' に設定するとすぐに、HttpSendHttpResponse で 87 エラー (パラメーターが正しくありません) が発生します。

ClientIpLength/ClientIp や UriStemLength/UriStem などの他のフィールドは期待どおりに機能し、ログに正しく表示されます。方法が問題です。

誰かがそれを機能させましたか?私が見逃したかもしれない詳細はありますか?

4

1 に答える 1

0

わかりました。バグは「HTTP_LOG_FIELDS_DATA 構造体 (Windows)」ドキュメント ページにあります。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364537(v=vs.85).aspx

これは、オンライン ドキュメント (C++ コードと説明の両方) にフィールドがありません。私はDelphiポートのドキュメントから作業していましたが、すべてのフィールドが機能しているかどうかをテストすると、フィールドが欠落していることに気付きました.

フィールドを追加した後、正常に動作するようになりました!

于 2012-12-26T15:04:30.707 に答える