Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2012, 07:57
Wolfchamane
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 73
Antigüedad: 15 años, 11 meses
Puntos: 1
win32|64 error CDERR_STRUCTSIZE

Información:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Planteamiento:
Necesito obtener del sistema un fichero, para eso invoco a mi querida amiga la función "GetOpenFileName()".

Código:
Código:
OPENFILENAMEW ofn;
memset(&ofn, 0, sizeof(ofn));
	pwcFichero[0] = '\0';
	ofn.lStructSize  =  sizeof(ofn);
	ofn.hwndOwner  =  hwnd;
	ofn.lpstrFilter  =  pwcFilter;
   ofn.nMaxCustFilter  =  (DWORD) wcslen(pwcFilter);
	ofn.nFilterIndex  =  1;
	ofn.lpstrFile =  pwcFichero;
	ofn.nMaxFile  =  MAX_PATH;
	ofn.lpstrInitialDir  =  awcDirName;
	ofn.lpstrFileTitle  =  NULL;
   ofn.nMaxFileTitle  =  0;
   ofn.Flags  =  OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_LONGNAMES |	OFN_PATHMUSTEXIST | OFN_ENABLEHOOK | OFN_HIDEREADONLY;
   ofn.lCustData  =  0;
   ofn.lpstrCustomFilter  =  NULL;
   ofn.lpfnHook  =  (LPOFNHOOKPROC)FileOpenHookProc;
bReturn = GetOpenFileName(&ofn);
Bien, pues en x32 bits funciona correctamente, y en x64 no.
La configuración del proyecto esta realizada en un tamaño de estructuras de 1byte.

¿Alguna sugerencia?