繁体   English   中英

在0xC0000005中的0x6ececafa出现未处理的异常:访问冲突写入位置0x00000000

[英]Unhandled Exception as at 0x6ececafa in 0xC0000005 : Access violation writing location 0x00000000

在以下代码中获取异常。

HRESULT GetRemovableDrive(
    __out   LPDWORD   lpdwRemovableDriveCount,
    __out   CHAR*     szRemovableDrive )
{
    INT     iDriveCnt                   = 0;
    CHAR   TempDrive[ MAX_PATH ]       = { TEXT('\0') };

hResult = CheckDriveReady( tzDriveName, &bIsDeviceReady );
                    if ( !hResult && TRUE == bIsDeviceReady )
                    {
                        //
                        // Copy drive name
                        //
                        strcpy_s ( TempDrive, tzDriveName );
                        memcpy(szRemovableDrive + iDriveCnt, TempDrive, 1);
                        iDriveCnt++;
                        ( *lpdwRemovableDriveCount )++;
                    } // if
}

在执行memcpy时获取异常作为未处理的异常:访问冲突写入位置0x00000000。

消息很清楚。 您正在调用memcpy()写入地址0。 这意味着szRemovableDriveiDriveCnt均为0,因为这是写入目标地址。 调用者可能GetRemoveableDrive() NULL指针传递给该参数的GetRemoveableDrive()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM