ActivateAudioInterfaceがdeprecateになってしまった

公開:2012-06-03 18:23
更新:2020-02-15 04:37
カテゴリ:シューティングゲーム,windows store apps,ゲーム,ゲーム製作

Release PreviewでConsumer Previewで使えたActivateAudioInterfaceがdeprecateになってしまった。もともとドキュメント化もされていないようなAPIなので使えなくなっても当然だが。代わりにActivateAudioInterfaceAsyncが使えるようになったが、これがどうにも不便そうなAPIなのだ。直接taskテンプレートが使えなさそうな引数や戻り値の構成になっているのだ。


STDAPI ActivateAudioInterfaceAsync(
    _In_ LPCWSTR deviceInterfacePath,
    _In_ REFIID riid,
    _In_ PROPVARIANT *activationParams,
    _In_ IActivateAudioInterfaceCompletionHandler *completionHandler,
    _COM_Outptr_ IActivateAudioInterfaceAsyncOperation **activationOperation
    );

「使えなさそう」としか言えないのはtaskテンプレートに詳しくないからだが、持っている知識だけで言うとIActivateAudioInterfaceAsyncOperationが戻り値でないとtaskテンプレートで扱えない。taskテンプレートが使えないと非同期処理で簡潔なコードが書けない。あ、でもIActivateAudioInterfaceAsyncOperationを返すようなラッパを噛ませればいいのか。しかしこのAPIを非同期にする意味ってあるのかね。処理に50ms以上かかるということもなさそうだしねぇ...。あえて非同期で書かないほうがユーザーに対する応答処理も速そうな気がするんだけど。