一、有问题代码:
/*
* 功能:调用ADB,执行命令,获取结果
*
* 输入参数:
* strCommand :命令
* pResult :结果
* iResultSize :结果长度
*/
bool IUsbDllImpl::ExecuteCommand(CString strCommand, char *pResult, int iResultSize)
{
const int PIPE_BUFFER_SIZE = 1024;
HANDLE hReadPipe;
HANDLE hWritePipe;
HANDLE hReadPipecmd;
HANDLE hWritePipecmd;
STARTUPINFO adbProcStartup;
SECURITY_ATTRIBUTES sa = { sizeof(SECURITY_ATTRIBUTES),NULL, TRUE };
BOOL bResult = CreatePipe(&hReadPipe, &hWritePipe ,&sa, PIPE_BUFFER_SIZE);
if( bResult == 0 )
return 0;
bResult = CreatePipe(&hReadPipecmd, &hWritePipecmd ,&sa, PIPE_BUFFER_SIZE);
if( bResult == 0 )
return 0;
PROCESS_INFORMATION adbProcInfo;
memset(&adbProcInfo, 0, sizeof(PROCESS_INFORMATION));
memset(&adbProcStartup, 0, sizeof(STARTUPINFO));
adbProcStartup.cb = sizeof(STARTUPINFO)