- - PR -
DirectPlayVoiceServerの初期化
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-24 15:18
C++の本を参考にC#で音声サーバを作成しようと思っております。
C++ではまずサーバを初期化する際に IDirectPlayVoiceServer*lpDirectPlayVoiceServer; hr=CoCreateInstance(CLSID_DirectPlayVoiceServer,NULL,CLSCTX_INPROC_SERVER,IID_IDirectPlayVoiceServer,(void**)&lpDirectPlayVoiceServer); IUnknown *punk; lpDirectPlay8Peer->QueryInterface(IID_IUnknown,(LPVOID*)&punk); hr=lpDirectPlayVoiceServer->Initialize(punk,myVoiceHandler,NULL,NULL,0); punk->Release(); このようにすればサーバを初期化できると書かれております。 これをC#でやるにはどうしたらよいのかご存知の方教えていただけたら幸いです。 ちなみに僕は private Microsoft.DirectX.DirectPlay.Voice.Server mddvs; object ob = null; mddvs = new Microsoft.DirectX.DirectPlay.Voice.Server(ob); よくわからないもながらこのような感じでできるのではないかと予想し デバッグしてみましたが、obのところはnullではだめでした。 obに何を指定すればよいのかご存知の方いらっしゃいましたら ぜひ、教えていただければうれしいです。 |
|
投稿日時: 2007-04-24 15:51
object ob = null;
↓ object ob = new object(); ぢゃダメ? |
|
投稿日時: 2007-04-24 16:23
アドバイスありがとうございます。
ためさせて頂きましたが、だめでした。 やはり、何か指定しなきゃいけないようです。 そりゃそうですよね。 コールバック関数とかぜんぜん未設定ですから。 ただ、それをどうやってというのが不明です。 |
|
投稿日時: 2007-04-24 17:15
C++ のソースには存在しているのに、移植したコードには未出なインスタンスが存在しますよね? 引数に渡してるそのものですが。
QueryInterface は要はキャストですから気にする必要はないです。 // Server に Initialize メソッドがないって事はイベントに登録しとけって事かしらん? [ メッセージ編集済み 編集者: Hongliang 編集日時 2007-04-24 17:17 ] |
|
投稿日時: 2007-04-24 18:38
本題から反れますが、Microsoft.DirectX.DirectPlay.Voice.Server って推奨されていましたっけ?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2007-04-26 07:41
Hongliangさん。
QueryInterface は気にする必要はないのですね。 ありがとうございます。 じゃんぬねっとさん。 そうです。推奨されておりません。 そのため、機能はございますが、ドキュメントなどがほぼ皆無のため 難儀しており、質問させていただいたしだいです。 |
1