MSDN me dice que los identificadores de ventanas (HWND) se pueden compartir entre las aplicaciones de 32 y 64 bits, en Interprocess Communication (MSDN). Sin embargo, en Win32, un HWND es de 32 bits, mientras que en Windows de 64 bits es de 64 bits. Entonces, ¿cómo se pueden compartir los mangos?¿Cómo puedo compartir HWND entre aplicaciones de 32 y 64 bits en Win x64?
Supongo que la misma pregunta se aplica a los identificadores de objetos con nombre como mutexes, semáforos y manejadores de archivos.
Veo la implicación, pero parece que no hay documentación específica en MSDN que indique que solo se utilizan los 32 bits inferiores y que se usarán alguna vez, por lo que es seguro hacerlo. El conocimiento de la implementación subyacente actual de los identificadores de ventanas no es una garantía de que esto no cambie en futuras versiones de Windows, dado que esto no está documentado. –
Si hay una cosa a la que MS es bueno, es mantener la compatibilidad con versiones anteriores. Estoy de acuerdo en que sería bueno encontrar alguna declaración explícita sobre el tema, pero parece que una declaración implícita es lo único que obtendrás. Tal vez deberías preguntar en uno de los foros como 'microsoft.public.windows.64bit.general' o' microsoft.public.windows.app_compatibility' (Ver http://www.aumha.org/nntp.php) Algunos desarrolladores de MS debe saber con certeza ... –
@Marc: la "documentación específica en MSDN" es la misma declaración a la que se ha vinculado. Realmente no dice que solo se usan los 32 bits más bajos, y de hecho esperaría que Win64 establezca al menos un bit alto, solo para descubrir los identificadores que se han truncado, pero los 32 bits más bajos deberían ser suficientes para ser únicos. identifica una ventana. – MSalters