@Joseg, he encontrado otra manera de hacerlo funcionar sin pasar por
PROCEDURE-POINTER, lo cual me hace suponer que funcionaría incluso en PowerCOBOL v3 (que no tiene
PROCEDURE-POINTER):
Código COBOL:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 pid pic s9(9) comp-5.
01 hModule pic s9(9) comp-5.
01 pAddress pic s9(9) comp-5.
PROCEDURE DIVISION.
move pow-numeric of CmText1 to pid
call "GetModuleHandleA" with stdcall using by value h"00" returning hModule
call "GetProcAddress" with stdcall using by value hModule
by content "_EnumWindowsProc@8" & x"00"
returning pAddress
call "EnumWindows" with stdcall using by value pAddress
by value pid
Funciona perfectamente, lo que pasa es que aquí uso WinAPI para obtener la dirección de la función.
A ver si un día lo pruebo en PowerCOBOL v3, debería funcionar, salvo que haya algún imprevisto.