進:143196173
六角:0x889000D IAudioSessionControl2->GetProcessId()への呼び出しからミステリーHRESULT、0x889000D
結果。
のGetLastError = 126 *
メッセージ=私はこのエラーをどのように解釈するか本当にわからないんだけど
「指定されたモジュールが見つかりませんでした」。さらに、私はHRESULTの説明をどこにも見つけることができません。文書化された戻りコードは、S_OK、E_POINTER、AUDCLNT_E_NO_SINGLE_PROCESS、およびAUDCLNT_E_DEVICE_INVALIDATEDです。
誰でもこのコードの意味を理解していますか?
*これは、Marshal.GetLastErrorによって取得されたWin32Exceptionでメッセージを提供して管理下/非管理境界全体にマーシャリングされたエラーです。それは偽物かもしれないが、私はそれを持っている。 HRESULTはアンマネージコードから直接引き出されます。
詳しい調査の結果、FAILED()が、これは誤りであると考えていないようです。しかし、outパラメータはクリアされ(0に設定されます)、実際には意味をなさないでしょう。また、GetErrorInfoはS_FALSEを返します。そのため、追加のデバッグ情報はありません。
"最初のプロセス"ビットと競合するこのエラーコードと一緒に、プロセスIDが0で表示されています。それにもかかわらず、私はちょうどもう少しの仕事でこれを「保釈」状態として扱うことができます。 –
プロセスIDが0の場合は、ウィンドウがセッションを鳴らしている可能性があります(IAudioSessionControl2-> IsSystemSoundsSession()を使用して確認できます)。ウィンドウのセッションセッションIDは決してありません。 –