Error no manejado con CreateProcess [duplicado]

Esta pregunta ya tiene una respuesta aquí:

El método CreateProcess termina con un error 1 respuesta

Estaba leyendo acerca de la función CreateProcess en c ++ y quería probarlo. La idea básica del código es que mi principal ejecute otro proceso (bloc de notas). En realidad, es sólo el código básico. Cuando ejecuto el programa, me sale:

Excepción de primera oportunidad en 0x752bb763 en createprocess.exe: 0xC0000005: Ubicación de escritura de infracción de acceso 0x00be57b8.
Excepción no controlada en 0x752bb763 en createprocess.exe: 0xC0000005: Ubicación de escritura de infracción de acceso 0x00be57b8.

Cuando hago un punto de ruptura para el lugar donde se produce el error, me llevan a tidtable.c (que es para acceder a subprocesos, supongo). Específicamente en tidtable.c enCRTIMP PFLS_GETVALUE_FUNCTION __cdecl __set_flsgetvalue() Realmente no sé qué o cómo evitar este problema. El error se produce con la llamada a CreateProcess (es decir, nunca da como resultado "fuera de la creación").

Mi código es:

<code>#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <strsafe.h>
#include <direct.h>
#include <string.h>
#include <conio.h>

int main(VOID)
{
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

        //allocate memory
    ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));


fprintf(stderr, "This is just a test");

//create child process
if (!CreateProcess(NULL,
    L"C:\\Windows\\Notepad.exe",
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    NULL,
    &si,
    &pi))
{
        fprintf(stderr, "create process failed");

        return -1;
}
fprintf(stderr, "out of create");

    //parent waits for child to complete
WaitForSingleObject(pi.hProcess, INFINITE);

fprintf(stderr, "after wait");

printf("Child Complete");

    //close handle
CloseHandle(pi.hProcess);
//  CloseHandle(pi.hthread);

}
</code>

Si alguien sabe cómo superar este problema, agradeceríamos su ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta