2015-04-06 137 views
0

我坚持尝试检索音乐我能够打开并使用WINMM的功能mciSendString玩()的歌曲长度;mcisendstring返回空字符串

char szCmd[128]; 
char szResponse[128] = {0}; 
sprintf_s(szCmd, 128, "status my_alias length"); 

dwRet = mciSendString((LPCSTR)szCmd, szResponse, 0, NULL); 

即使没有返回错误代码,szResponse字符串总是返回NULL。

我尝试设置时间格式,以毫秒为单位,与

"set my_alias time format to milliseconds" 

,但没有得到运气也是如此。 关于我可能错过的任何想法?

预先感谢

+3

[mciSendString](https://msdn.microsoft.com/zh-cn/library/dd757161.aspx):*“** cchReturn **:由lpszReturnString参数指定的返回缓冲区的大小(以字符为单位) 。“* – IInspectable

+1

你告诉Windows你想要一个0字符的回复,它完全按照你的要求做了。 :) –

+1

'(LPCSTR)'投射看起来非常错误。使用宽字符('wchar_t' /'swprintf_s()'或'mciSendStringA()'。 – cremno

回答

0

如在评论中指出,我在mciSendString的第三个参数,它是由所述第二参数指定的返回缓冲区的大小通过0。