2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
133 / 332 ツリー ←次へ | 前へ→

WinRing0SampleCS実行時のCOMException(0x8007007a) ほぼ是日 09/2/19(木) 10:19
Re:WinRing0SampleCS実行時のCOMException(0x800700... ひよひよ 09/2/19(木) 19:33
Re:WinRing0SampleCS実行時のCOMException(0x800700... ひよひよ 09/2/19(木) 19:55
Re:WinRing0SampleCS実行時のCOMException(0x800700... ほぼ是日 09/2/23(月) 14:26
Re:WinRing0SampleCS実行時のCOMException(0x800700... ひよひよ 09/2/23(月) 20:44
Re:WinRing0SampleCS実行時のCOMException(0x800700... ほぼ是日 09/2/24(火) 9:54
Re:WinRing0SampleCS実行時のCOMException(0x800700... ひよひよ 09/2/24(火) 19:55

WinRing0SampleCS実行時のCOMException(0x8007007a)
←back ↑menu ↑top forward→
 ほぼ是日  - 09/2/19(木) 10:19 -

引用なし
パスワード
   こんにちわ。
初めて投稿します。

PCIデバイスのハードウェアアクセスを行おうと手段を探していたところ
WinRing0にたどり着きました。

早速、Csのサンプルコードを取得してビルド実行(エラーなし)し、
デバッグ実行していますが、下記のエラーで悩まされています。
実行時にCOM関連でエラーが出ていること程度しかわからず
どなたか考えられる要因などアドバイスいただければ幸いです。
--------------------------------------------------
環境:Win XP SP2/VC# 2008 ExpressEdition
プロジェクト:WinRing0SampleCS
--------------------------------------------------
System.Runtime.InterServices.COMException
システムコールに渡されるデータ領域が小さすぎます 0x8007007a

静的メンバ
 パブリックでないメンバ
  _COMPlusException 0xe0434f4d
--------------------------------------------------

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ひよひよ  - 09/2/19(木) 19:33 -

引用なし
パスワード
   ▼ほぼ是日さん:
>System.Runtime.InterServices.COMException
>システムコールに渡されるデータ領域が小さすぎます 0x8007007a
サンプルプログラムのバグかも知れません。というか、バッファが足りない??

VC2008Pro でリビルドしてみましたが Vista SP1 + .NET 3.5 環境では特に問題が
発生しませんでした。他の環境でもテストしてみます。

>PCIデバイスのハードウェアアクセスを行おうと手段を探していたところ
>WinRing0にたどり着きました。
この問題が解決した後、何か作りましたらぜひご連絡ください。
OpenLibSys.org のサイドリンクで紹介させていただきます。

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ひよひよ  - 09/2/19(木) 19:55 -

引用なし
パスワード
   XP SP2 + .NET 3.5SP1 で確認してみましたが問題は発生しませんでした。

よくよく考えると ほぼ是日 さんはプログラマだと思うので、どこでエラーが発生しているかデバッガで追っていただけませんか?単純なプログラムなので、最初の方にブレークポイントを設定してステップ実行していけばすぐにどこでエラーが発生しているか分かると思います。

お手数ですがよろしくお願いします。
と、ユーザーにデバッグを押し付けるのであったw

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ほぼ是日  - 09/2/23(月) 14:26 -

引用なし
パスワード
   ひよひよさん

こんにちわ。返信ありがとうございます。

ステップ実行してみました。

public Ols() の 100行目あたりりの

            module = Ols.LoadLibrary(fileName);
            if (module == IntPtr.Zero)
            {
                int result = Marshal.GetHRForLastWin32Error();
                throw Marshal.GetExceptionForHR(result);
            }

でExceptionにはいっているようです。
どうしてでしょう?

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ひよひよ  - 09/2/23(月) 20:44 -

引用なし
パスワード
   ▼ほぼ是日さん:
>ひよひよさん
>
>こんにちわ。返信ありがとうございます。
>
>ステップ実行してみました。
>
>public Ols() の 100行目あたりりの
>
>            module = Ols.LoadLibrary(fileName);
>            if (module == IntPtr.Zero)
>            {
>                int result = Marshal.GetHRForLastWin32Error();
>                throw Marshal.GetExceptionForHR(result);
>            }
>
>でExceptionにはいっているようです。
>どうしてでしょう?
えぇ〜と、WinRing0.dll が同じフォルダにないだけでは?
手元で WinRing0.dll を削除した上で実行したところご指摘のエラーがでました。

WinRing0.dll が存在するのにこのエラーが表示される場合は DLL のバージョンを再度
確認してください。OpenLibSys.org から最新の WinRing0 をダウンロードし、サンプル
プログラムがそのまま実行できることをご確認ください。

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ほぼ是日  - 09/2/24(火) 9:54 -

引用なし
パスワード
   ▼ひよひよさん:
>▼ほぼ是日さん:
>>ひよひよさん
>>
>>こんにちわ。返信ありがとうございます。
>>
>>ステップ実行してみました。
>>
>>public Ols() の 100行目あたりりの
>>
>>            module = Ols.LoadLibrary(fileName);
>>            if (module == IntPtr.Zero)
>>            {
>>                int result = Marshal.GetHRForLastWin32Error();
>>                throw Marshal.GetExceptionForHR(result);
>>            }
>>
>>でExceptionにはいっているようです。
>>どうしてでしょう?
>えぇ〜と、WinRing0.dll が同じフォルダにないだけでは?
>手元で WinRing0.dll を削除した上で実行したところご指摘のエラーがでました。
>
>WinRing0.dll が存在するのにこのエラーが表示される場合は DLL のバージョンを再度
>確認してください。OpenLibSys.org から最新の WinRing0 をダウンロードし、サンプル
>プログラムがそのまま実行できることをご確認ください。

WinRing0.dllが同じディレクトリに存在していませんでした。
WinRing0.dllを入れて再度ステップで確認し、上記でExceptionが
発生しなくなりました。

ただ、サンプルプログラムでも実行してみましたが、違うエラーがでるようです。
ステップ実行で確認しました。
OpenLibSys.cs 223行目あたり
                if (InitializeOls() == 0)
                {
                    throw new Exception();
                }
でInitializeOls()が0のようでExceptionとなります。
サンプルも同様に[System.Exception]メッセージで終了してしまいます。

Re:WinRing0SampleCS実行時のCOMException(0x8007...
←back ↑menu ↑top forward→
 ひよひよ  - 09/2/24(火) 19:55 -

引用なし
パスワード
   ▼ほぼ是日さん:
>ただ、サンプルプログラムでも実行してみましたが、違うエラーがでるようです。
>ステップ実行で確認しました。
>OpenLibSys.cs 223行目あたり
>                if (InitializeOls() == 0)
>                {
>                    throw new Exception();
>                }
>でInitializeOls()が0のようでExceptionとなります。
>サンプルも同様に[System.Exception]メッセージで終了してしまいます。
InitializeOls() にステップインしてどこで止まっているか確認してみてください。

133 / 332 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
ページ:  ┃  記事番号:   
98289
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free