gpt4 book ai didi

c++ - 在作为函数参数的句柄上调用 CloseHandle?

转载 作者:行者123 更新时间:2023-11-27 22:52:53 27 4
gpt4 key购买 nike

如果句柄被创建为函数参数,它会在函数结束时自行关闭吗?

例如:

int readMem(HANDLE processHandle, int address)
{
int memValue = 0;

bool success = ReadProcessMemory(processHandle, (LPVOID)address, &memValue, sizeToReadBytes, NULL);
if (!success)
std::wcout << "Memory read failed on address: " << std::hex << address << "\n";

return memValue;
}

我是否需要在 return 语句之前显式关闭它,还是最好尽可能将它们作为引用传递?

或者我只是误解了所有的句柄?我对 winapi 很陌生。

最佳答案

HANDLE 只是一个 typedefvoid *

Microsoft 明确规定,当您使用完句柄后,请务必使用 CloseHandle 将其关闭。

您的 readMem 函数没有创建句柄,因此在那里关闭它没有意义。

关于c++ - 在作为函数参数的句柄上调用 CloseHandle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35817833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com