home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
pmqsiz.zip
/
DMPQUEUE.CMD
next >
Wrap
OS/2 REXX Batch file
|
1995-04-24
|
2KB
|
64 lines
EXTPROC CEnvi2
if ( !DosLoadModule("PMWIN",ModuleHandle) ) {
printf("Cannot load PMWIN\n");
} else {
printf("\nPMWIN module handle = %d\n",ModuleHandle);
#define ORD_WIN32CREATEMSGQUEUE 716
#define ORD_WIN16CREATEMSGQUEUE 58
if ( !DosQueryProcAddr(ModuleHandle,ORD_WIN32CREATEMSGQUEUE,NULL,ProcAddress) ) {
printf("Cannot find address for 32-bit create msg queue\n");
} else {
printf("\nAddress of 32-bit CreateMsgQueue = %08X\n",ProcAddress);
ShowBytes(ProcAddress);
if ( !DosQueryProcAddr(ModuleHandle,ORD_WIN16CREATEMSGQUEUE,NULL,ProcAddress) ) {
printf("Cannot find address for 16-bit create msg queue\n");
} else {
printf("\nAddress of 16-bit CreateMsgQueue = %08X\n",ProcAddress);
ShowBytes(ProcAddress);
}
}
DosFreeModule(ModuleHandle);
}
ShowBytes(Address)
{
for ( i = 0; i < 10; i++ ) {
for ( j = 0; j < 16; j++ ) {
printf(" %02X",peek(Address+(i*16)+j));
}
puts("");
}
}
DosLoadModule(pModuleName,pRetModuleHandle)
{
#define ORD_DOS32LOADMODULE 318
lLoadError[100] = '\0';
lRc = DynamicLink("DOSCALLS",ORD_DOS32LOADMODULE,BIT32,CDECL,
lLoadError,100,pModuleName,lModHandle);
pRetModuleHandle = lModHandle;
if ( lRc ) {
printf("lRc = %d\n",lRc);
printf("Error message = \"%s\"\n",lLoadError);
}
return ( 0 == lRc );
}
DosFreeModule(pModuleHandle)
{
#define ORD_DOS32FREEMODULE 322
DynamicLink("DOSCALLS",ORD_DOS32FREEMODULE,BIT32,CDECL,pModuleHandle);
}
DosQueryProcAddr(pModuleHandle,pOrdinal,pProcName,pRetProcAddress)
{
#define ORD_DOS32QUERYPROCADDR 321
lRc = DynamicLink("DOSCALLS",ORD_DOS32QUERYPROCADDR,BIT32,CDECL,
pModuleHandle,pOrdinal,pProcName,lRetProcAddress);
pRetProcAddress = lRetProcAddress;
return ( 0 == lRc );
}