winddi.hヘッダーファイルを使いたいのですが何をインストールすればいいのでしょうか?どなたかご存知の方いませんでしょうか。
開発環境はVC++6.0です。
ファイル名からしてデバイスドライバっぽいですね。
だとするとDDKに含まれているように思われます。
Windows xpでうまくインストールできました。
winddi.hとddrawint.hファイルをWindows Me上にコピーしwinddi.hヘッダーファイルをソースにインクルードしてみました。
winddi.hヘッダーファイルに
//
// Standard DirectX HAL includes
//
#include <ddk/ddrawint.h>
#include <ddk/d3dnthal.h> // ddkは追加しました
とありddrawintのなかで以下に示すコンパイルエラーとなってしまいます。
error C2146: 構文エラー : ';' が、識別子 'FLATPTR' の前に必要です。
この型がULONG_PTR型で宣言しているので、適当に型を宣言してみると更にコンパイルエラーが出てきますので対処できません。
何か良い方法はないのでしょうか。宜しくお願いします。
説明の追加があります。ヘッダーファイルのソースへの書き込みは以下のようになっています。
#include < windowsx.h >
#include < ddraw.h >
#include < stdio.h >
#include < commdlg.h >
#include < tlhelp32.h >
#include < ddk/winddi.h >
>Windows xpでうまくインストールできました。
>winddi.hとddrawint.hファイルをWindows Me上にコピーしwinddi.hヘッダーファイルをソースにインクルードしてみました。
何でこんなことしてるの?
コンパイラオプションにディレクトリ指定があるのを見忘れていました。
DirectDrawのバージョンが古いみたいでコンパイルエラーが出てしまうようです。
DirectDrawのバージョンをあげるかWindows 98 DDKを購入して検討してみたいと思います。どうも有り難うございました。
>winddi.hヘッダーファイルを使いたいのですが
えーと、そもそも何のために使いたいんでしょうか…
目的と手段はあってるのかな…?
返信有難うございます。解決したい問題は、
スタンバイ復帰後にDirectDrawのSurfaceへのビデオメモリへの描画速度が半分ぐらい低下してしまいます。
Windows起動後は問題なく動作しているのですがスタンバイから復帰させて
アプリケーションを起動すると描画速度が低下してしまいます。
DirectDrawの初期化は通常通り行いビデオメモリへの描画はLock、Unlockを使い
描画しています後はプライマリサーフェースへBltさせています。
QueryInterfaceでIDirectDraw2を使ていますが、コード上には問題は無いようなのですがいろいろ試してみたのですが
IDirectDrawSurface3やIDirectDraw3なども使ってみたのですが効果はありませんでした。
使用しているOSはWindowsMeでWindowsXpでは問題は起こりませんでした。
こんなところなのですが、OSもしくはドライバかBISOあたりに問題があるのではと思いwinddi.hで使われている
DrvEnableDriverを使ってドライバの初期化をしようかと考えています。参考になりましたでしょうか。宜しくお願いします。
winddi.hヘッダーに必要なライブラリファイルを教えて頂けないでしょうか。
winddi.hヘッダーを使わずにソースに直接関数宣言を書き込みました。
Win2000DDKをインストールしましたがDrvDisableDriverなどを使いたいと思っています。
どなたかご存知のかたいますでしょうか。またVC++6.0のプロジェクトでDDKのライブラリは使用可能なのでしょうか。
ツイート | ![]() |