예제 #1
0
파일: bdecmds.c 프로젝트: chunhualiu/OpenNT
VOID
es(
    HANDLE CurrentProcess,
    HANDLE CurrentThread,
    DWORD CurrentPc,
    PWINDBG_EXTENSION_APIS ExtensionApis,
    LPSTR ArgumentString
    )
/*++

Routine Description:


Arguments:

    CurrentProcess -- Supplies a handle to the current process
    CurrentThread -- Supplies a handle to the current thread
    CurrentPc -- Supplies the current program counter. (may be meaningless)
    ExtensionApis -- Supplies pointers to ntsd support routines
    ArgumentString -- Supplies the arguments passed to the command

Return Value:

    None.

--*/
{
    UNREFERENCED_PARAMETER(CurrentPc);

    hCurrentProcess = CurrentProcess;
    hCurrentThread = CurrentThread;
    lpArgumentString = ArgumentString;
    SETUP_WINDBG_POINTERS(ExtensionApis);
    if (!CheckGlobalHeap()) {
        return;
    }
    EvaluateSymbol();

}
double CFunctionCollection::Evaluate(CString function_name, bool log /* = false */) {
  CSLock lock(m_critsec);
  double result = k_undefined;
  EvaluateSymbol(function_name, &result, log);
  return result;
}