COM経由で初期化するDirectSoundでのDirectSoundEnumerate [日記]
AyameでDirectSoundEnumerateを使いたいと思ったんですが、CoCreateInstanceを使った初期化のため、DirectSoundEnumerateが使えない模様。
LoadLibraryを使えだとさ。
うーん、そこまで改修するのは今さらめんどくさいなぁ。
http://msdn.microsoft.com/ja-jp/library/cc351144.aspx
DirectSound がインストールされているかどうかを検出する方法は?
DirectSoundEnumerate() を使って利用可能な DirectSound デバイスを列挙する必要がない場合には、アプリケーションに dsound.lib をリンクせず、代わりに COM の CoCreateInstance(CLSID_DirectSound. . . ) を使った後に、Initialize(NULL) を使って DirectSound オブジェクトを初期化します。
DirectSoundEnumerate() を使う必要がある場合には、LoadLibrary("dsound.dll") を使って dsound.dll を動的にロードし、GetProcAddress("DirectSoundEnumerateA/W") や GetProcAddress ("DirectSoundCreateA/W") などを使えば、そのメソッドにアクセスできます。
2012-09-04 16:58
nice!(0)
コメント(0)
トラックバック(0)
コメント 0