OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));

これって

OPENFILENAME ofn = {0};

これでもいいんだよね?処理系依存でしたっけ?