Development/Visual C++
Console Redirection, CreateProcess 에서 64비트 일 경우 처리
qWooWp
2022. 7. 12. 13:34
반응형
64 bit 운영체제에서 CreateProcess 를 이용하여 Console Redirection 을 하려고 할 때
Hang-up 이 걸리는 현상이 발생하거나, 결과 값을 정상적으로 가져오지 못하는 경우가 발생을 합니다.
이 때 아래와 같이 64비트일 경우 처리를 추가 하면 정상적으로 처리가 되는 것을 확인 할 수 있습니다.
저 같은 경우 PnpUtil 을 사용하여 결과값을 가져오려고 할 때 정상적으로 가져오지 못하여 아래 코드 삽입 후
정상 리턴을 받았습니다.
if (Is64BitWindows())
{
PVOID oldVal = NULL;
if (!Wow64DisableWow64FsRedirection(&oldVal))
TRACE("Error %d", GetLastError());
}
관련 정보는 아래 링크에서 얻었습니다.
Wow64DisableWow64FsRedirection function (wow64apiset.h) - Win32 apps
Disables file system redirection for the calling thread. File system redirection is enabled by default.
docs.microsoft.com
반응형