十进制: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,与“第一个进程”位有什么冲突。无论如何,我可以将此视为一种“保释”状态,并有更多的工作。 – 2009-07-26 05:20:07
如果您看到进程ID为0,则可能是Windows声音会话(您可以使用IAudioSessionControl2-> IsSystemSoundsSession()来检查)。 Windows声音会话永远不会有进程ID。 – 2009-07-26 06:11:02