| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2387 人关注过本帖
标题:求助,某句柄导致线程崩溃!
只看楼主 加入收藏
qq835078903
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2018-8-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求助,某句柄导致线程崩溃!
最近做一个用NtQueryInformationFile获取句柄对应文件名的小程序,由于要获取namedpipe中的信息,要创建子线程设置等待超时。谁知每到同一个namedpipe句柄,线程就崩溃了,信息如下:

线程 'Win32 线程' (0x9b4) 已退出,返回值为 -1073741510 (0xc000013a)。
线程 'Win32 线程' (0x2640) 已退出,返回值为 -1073741510 (0xc000013a)。
线程 'Win32 线程' (0x2088) 已退出,返回值为 -1073741510 (0xc000013a)。
程序“[9648] cheumn.exe: 本机”已退出,返回值为 -1073741510 (0xc000013a)。
通过process explorer,这个句柄属于Atiesrxx.exe的DEVICE\NAMEDPIPE\EXTEVENTPIPE_SERVICE
DWORD WINAPI
  GetFileNameThread(PVOID lpParameter)
{
    PNM_INFO        NmInfo = lpParameter;
    IO_STATUS_BLOCK IoStatus;

    NtQueryInformationFile(NmInfo->hFile, &IoStatus, &NmInfo->Info,
                          sizeof(NM_INFO) - sizeof(HANDLE), FileNameInformation);

    return 0;
}

EXTERN_C void GetFileName(HANDLE hFile, PCHAR TheName)
{
    HANDLE   hThread;
    PNM_INFO Info = HeapAlloc(hHeap, 0, sizeof(NM_INFO));

    Info->hFile = hFile;

    hThread = CreateThread(NULL, 0, GetFileNameThread, Info, 0, NULL);

    if (MsgWaitForMultipleObjects(1, &hThread,
        FALSE, INFINITE, QS_ALLINPUT) == WAIT_OBJECT_0) //问题出在这里
    {
        TerminateThread(hThread, 0);
    }
    CloseHandle(hThread);



    memset(TheName, 0, MAX_PATH);

    WideCharToMultiByte(CP_ACP, 0, Info->Info.FileName, Info->Info.FileNameLength >> 1, TheName, MAX_PATH, NULL, NULL);

    HeapFree(hHeap, 0, Info);
}
请各位大神解答!
搜索更多相关主题的帖子: 句柄 线程 退出 返回值 NULL 
2018-08-07 09:33
qq835078903
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2018-8-7
收藏
得分:0 
自顶,不要沉
2018-08-07 15:06
qq835078903
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2018-8-7
收藏
得分:0 
别沉啊
2018-08-07 18:02
qq835078903
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2018-8-7
收藏
得分:0 
ziding
2018-08-08 09:44
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:10 
就一个函数百度一下用法不就知道么
2018-08-08 15:15
zhoujie13
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:38
注 册:2018-7-8
收藏
得分:10 
帮你顶
2018-08-09 08:43
快速回复:求助,某句柄导致线程崩溃!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025968 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved