Il problema e' nel penultimo parametro. Il puntatore che passi non punta a nessuno spazio allocato. Fra l'altro, nell'ultimo parametro indichi che lo spazio disponibile e' di 50 caratteri ma questi caratteri non esistono. L'uso corretto e'
codice:char DateStr[5]; GetDateFormat(LOCALE_SYSTEM_DEFAULT, NULL, NULL, "yyyy", (LPSTR)&DateStr, 5);