トップ回答者
'httprequest.h': No such file or directory

質問
-
WinHTTPのC++からの利用を勉強しています。以下のページにあるサンプルプログラムをコンパイルすると
'httprequest.h': No such file or directory のエラーとなります。
http://msdn.microsoft.com/en-us/library/aa383961(VS.85).aspx
サンプルプログラム
#include "stdafx.h"
#include "objbase.h"#include "httprequest.h"
// IID for IWinHttpRequest.
const IID IID_IWinHttpRequest =
{
0x06f29373,
0x5c5a,
0x4b54,
{0xb0, 0x25, 0x6e, 0xf1, 0xbf, 0x8a, 0xbf, 0x0e}
};int main(int argc, char* argv[])
{
// Variable for return value
HRESULT hr;// Initialize COM
hr = CoInitialize( NULL );IWinHttpRequest * pIWinHttpRequest = NULL;
BSTR bstrResponse = NULL;
VARIANT varFalse;
VARIANT varEmpty;
---- 以下省略 -------Windows SDK はインストールしてあります。
Visual Studio 2008です。
どうしたら、httprequest.h が入手できるのでしょうか?
よろしくお願いいたします。
回答
-
一点気になることがあります.どのWindows Operating Systemで,どのユーザ権限で実行したか,です.
エラーコードの 0x80070005 は E_ACCESSDENIED ですから,そのフォルダ(C:\Program Files\Microsoft SDKs\Windows\v6.0\Include)に対して,そのユーザ権限でファイルを作成できなかった可能性が高いと思います.
一度,httprequest.idl を適当なフォルダ(そのユーザ権限でファイルの作成や書き込みが可能なフォルダ)にコピーしてから,同じように実行してみると如何でしょうか?
すべての返信
-
お世話になります。
midlでコンパイルしたら、下記のようなエラーとなってしまいました。どうしたら解決できるでしょうか?
できましたら、ご指導お願いいたします。
C:\Program Files\Microsoft SDKs\Windows\v6.0\Include>midl httprequest.idl
Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0499
Copyright (c) Microsoft Corporation 1991-2006. All rights reserved.
Processing .\httprequest.idl
httprequest.idl
Processing .\oaidl.idl
oaidl.idl
Processing .\objidl.idl
objidl.idl
Processing .\unknwn.idl
unknwn.idl
Processing .\wtypes.idl
wtypes.idl
Processing .\basetsd.h
basetsd.h
Processing .\guiddef.h
guiddef.h
Processing .\oaidl.acf
oaidl.acf
midl\oleaut32.dll : error MIDL2020 : error generating type library : SaveAllChan
ges Failed : .\httprequest.tlb (0x80070005) -
一点気になることがあります.どのWindows Operating Systemで,どのユーザ権限で実行したか,です.
エラーコードの 0x80070005 は E_ACCESSDENIED ですから,そのフォルダ(C:\Program Files\Microsoft SDKs\Windows\v6.0\Include)に対して,そのユーザ権限でファイルを作成できなかった可能性が高いと思います.
一度,httprequest.idl を適当なフォルダ(そのユーザ権限でファイルの作成や書き込みが可能なフォルダ)にコピーしてから,同じように実行してみると如何でしょうか?
-
こんにちは。中川俊輔 です。
Takashi SAKAMOTOさん、回答ありがとうございます。
masa-wangさん、フォーラムのご利用ありがとうございます。
有用な情報と思われたため、Takashi SAKAMOTOさんの回答へ回答済みチェックをつけさせていただきました。
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。masa-wangさんはチェックを解除することもできますので、ご確認ください。
また、下記のページにシステムエラーコードの一覧があります。
System Error Codes
http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
エラーコードの見方については下記の文章が参考になると思います。
[Win32SDK]DirectShow にて HRESULT から原因を解析する
http://support.microsoft.com/kb/436468/ja
それでは!