Ejemplo n.º 1
0
/*
 * AccGetLibName - get lib name of current module
 */
trap_retval ReqGet_lib_name( void )
{
    MODULEENTRY         me;
    get_lib_name_req    *acc;
    get_lib_name_ret    *ret;
    char                *name;

    acc = GetInPtr(0);
    ret = GetOutPtr(0);
    name = GetOutPtr( sizeof( *ret ) );
    name[0] = '\0';

    ret->handle = 0;

    if( acc->handle != 0 ) {
        CurrentModule = acc->handle + 1;
    }
    Out(( OUT_MAP,"acc->handle = %ld", acc->handle ));
    if( CurrentModule >= ModuleTop ) {
        Out(( OUT_MAP,"Past end of list" ));
        return( sizeof( *ret ) + 1 );
    }
    me.dwSize = sizeof( me );
    Out(( OUT_MAP,"ModuleTop=%d CurrentModule=%d id=%d", ModuleTop, CurrentModule, moduleIDs[ CurrentModule ] ));
    if( ModuleFindHandle( &me, moduleIDs[ CurrentModule ] ) ) {
        strcpy( name, me.szExePath );
    }
    ret->handle = CurrentModule;
    Out(( OUT_MAP,"handle=%ld, name=\"%s\"", ret->handle, name ));
    return( sizeof( *ret ) + strlen( name ) + 1 );
}
Ejemplo n.º 2
0
BOOL MyModuleFindHandle( MODULEENTRY FAR* me, HMODULE h )
{
    BOOL        rc;

    me->dwSize = sizeof( MODULEENTRY );
    rc = (ModuleFindHandle( me, h ) != NULL);
    me->szModule[MAX_MODULE_NAME] = 0;
    return( rc );

} /* MyModuleFindHandle */