はじめまして。
すみません。大変困ってます。助けてください。
DirectPlay8の初期化をするのに
HRESULT hr;
hr = CoCreateInstance( CLSID_DirectPlay8Peer, NULL,
CLSCTX_INPROC_SERVER,IID_IDirectPlay8Peer,
(LPVOID*) &g_pDP );
hr = g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 );
だけではできないのですが、どうしたらいいですか?
ヘッダーファイルが足りないだけでしょうか。
ヘッダーは
Dplay8.h
Wtypes.h
Objbase.h
を使用しています。
COMオブジェクトの使用方法が間違っているのかもしれません。
(COMをあまり理解していないため・・・)
DirectXのサンプルをみても全く理解できずに苦しんでいます。
すみません。お願いします。
No.2
- 回答日時:
>hrの初期化ですが,CoInitializeExとCoInitializeとの違いは何なんでしょうか.
あまり正確には知らないのですが、CoInitialize は COM で、CoInitializeEx は DCOM という事でしょうか。
ローカルな特性としては、CoInitialize は、CoInitializeEx(NULL, COINIT_APARTMENTTHREADED) と同じだと思います。
COINIT_MULTITHREADED は全てのスレッドから無制限にアクセスできるようになって、COINIT_APARTMENTTHREADED はインスタンスを作成したスレッドだけが、そのインスタンスのメソッドを実行できるようにして、速度を稼いでいるものだと思います。
>コンパイルエラーがでてしまうんです.
objbase.h をインクルードした時点で _WIN32_DCOM が定義されていないとエラーになります。
サンプルのプロジェクトを見てもらえばわかるのですが、通常は、
プロジェクト → 設定 → C/C++タブのプリプロセッサ定義の中に追加します。
ありがとうございます.
すごく参考になりました!
objbase.hをインクルードするだけではだめなんですね.
CoInitializeExを使用することは断念したんですけど,
同じことができるのならば
CoInitializeを突き通します!
ありがとうございました!
No.1ベストアンサー
- 回答日時:
初期化というか、hr が FAILED になるのは何を呼び出した時でしょうか?
その時の hr の値から判断するしかありません。
あとは、サンプルから削ったものを地道に調べる。
CoInitializeEx を呼び出すのを忘れていたりする事があります。
返答ありがとうございます.
初期化をするのを忘れていたようです.
hrの初期化ですが,CoInitializeExとCoInitializeとの違いは何なんでしょうか.
CoInitializeでは初期化ができるのですが,CoInitializeExでは
コンパイルエラーがでてしまうんです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- システム 外付けHDDの初期化について 4 2023/03/05 20:00
- システム 外付けHDDの初期化について 4 2023/03/05 21:19
- カスタマイズ(バイク) C-HRに純正でついてるミシュランプライマシー3タイヤについて 2 2022/06/09 17:48
- カスタマイズ(車) C-HR ホイールサイズについて!! 2 2022/10/20 07:59
- ノートパソコン 初期化する方法を教えて欲しい。 2 2023/01/06 14:49
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
変数名の付け方
-
VB.NET getとsetの概念がわかり...
-
変数の参照でエラーが出てしま...
-
C# インスタンスの破棄
-
抽象クラスのインスタンス生成...
-
オブジェクト参照がオブジェク...
-
他のファイルの変数参照
-
クラス型がインスタンス化され...
-
エクセル(複数インスタンス)...
-
C#において、同じインスタンス...
-
VB6.0のクラスで、自分自身のイ...
-
マルチスレッドでのインスタン...
-
文字列を日付に変換でParseExce...
-
String型もしくはint型をIntege...
-
VC#での24ビットbmp形式での保...
-
newしないインスタンス?実体化...
-
生成したインスタンスを削除す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
SQLを連続発行する時の正しい(?...
-
「インスタンス」の意味をわか...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
javaのクラスの作り方、エラー...
-
オブジェクト参照がオブジェク...
-
String a = "a"; と String b =...
-
エクセル(複数インスタンス)...
-
C#「オブジェクト参照が必要で...
-
他のファイルの変数参照
おすすめ情報