#ifdef IL_CONFIG_PINVOKE /* Find the module for the PInvoke record */ module = ILPInvoke_Module(pinv); if(!module) { return 0; } name = ILModule_Name(module); if(!name || *name == '\0') { return 0; } moduleHandle = LocateExternalModule (ILExecThreadGetProcess(thread), name, pinv); if(moduleHandle) { /* Get the name of the function within the module */ name = ILPInvoke_Alias(pinv); if(!name || *name == '\0') { name = ILMethod_Name(method); } /* Look up the method within the module */ fnInfo.func = ILDynLibraryGetSymbol(moduleHandle, name); } /* Flag the method pinvoke. */ implementationType = _IL_JIT_IMPL_PINVOKE; /* now set the on demand compiler function */ onDemandCompiler = _ILJitCompilePinvoke; #else /* !IL_CONFIG_PINVOKE */ return 0; #endif /* IL_CONFIG_PINVOKE */