_vsnprintf_s发生崩溃

代码大概如下,在_vsnprintf_s时发生崩溃,这是为什么?


void myPrintf(const char *pFormat, ... 
{
  va_list args;
  va_start(args,  pFormat);
  char buf[1024] = {0};
  _vsnprintf_s(buf, sizeof(buf), pFormat, args);
  va_end(args);
}

int main()
{
      HRESULT hr = -1;
      bool b = true;
      myprintf("%s all netcard start", b ? "enable" : "disable");
      CoInitialize(NULL);
}

char buffer[256];
  va_list args;
  va_start (args, format);
  vsnprintf (buffer,256,format, args);

void myprintf(const char *pFormat, ... )
{
  va_list args;
  va_start(args,  pFormat);
  char buf[1024] = {0};
  _vsnprintf_s(buf, sizeof(buf), pFormat, args);
  va_end(args);
  printf("%s\n",buf);
}
int main()
{
      bool b = true;
      myprintf("%s all netcard start", b ? "enable" : "disable");
}

img