internal override void OnFunctionResolved( DkmClrModuleInstance module, DkmRuntimeFunctionResolutionRequest request, int token, int version, int ilOffset) { var address = DkmClrInstructionAddress.Create( module.RuntimeInstance, module, new DkmClrMethodId(Token: token, Version: (uint)version), NativeOffset: uint.MaxValue, ILOffset: (uint)ilOffset, CPUInstruction: null); request.OnFunctionResolved(address); }
private static OnFunctionResolvedDelegate <DkmClrModuleInstance, DkmRuntimeFunctionResolutionRequest> OnFunctionResolved(DkmWorkList workList) { return((DkmClrModuleInstance module, DkmRuntimeFunctionResolutionRequest request, int token, int version, int ilOffset) => { var address = DkmClrInstructionAddress.Create( module.RuntimeInstance, module, new DkmClrMethodId(Token: token, Version: (uint)version), NativeOffset: 0, ILOffset: (uint)ilOffset, CPUInstruction: null); // Use async overload of OnFunctionResolved to avoid deadlock. request.OnFunctionResolved(workList, address, result => { }); }); }