25 typedef struct _PROCESS_RECORD_CONTEXT
 
   39     _In_ HWND ParentWindowHandle,
 
   45     context.Record = Record;
 
   57     _In_ PLARGE_INTEGER Time
 
   61     LARGE_INTEGER currentTime;
 
   62     SYSTEMTIME timeFields;
 
   81         return String->Buffer;
 
   95     if (uMsg == WM_INITDIALOG)
 
  104         if (uMsg == WM_DESTROY)
 
  118             BOOLEAN versionInfoInitialized;
 
  125                     context->Record->ProcessName->Buffer, (ULONG)context->Record->ProcessId);
 
  129                 processNameString = context->Record->ProcessName;
 
  133             SendMessage(hwndDlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(hwndDlg, IDOK), 
TRUE);
 
  134             SetWindowText(hwndDlg, processNameString->
Buffer);
 
  161                         (ULONG)context->Record->ParentProcessId)->
Buffer);
 
  169                     (ULONG)context->Record->ParentProcessId)->
Buffer);
 
  175             versionInfoInitialized = 
FALSE;
 
  177             if (context->Record->FileName)
 
  180                     versionInfoInitialized = 
TRUE;
 
  185             SendMessage(GetDlgItem(hwndDlg, 
IDC_OPENFILENAME), BM_SETIMAGE, IMAGE_BITMAP,
 
  187             SendMessage(GetDlgItem(hwndDlg, 
IDC_FILEICON), STM_SETICON,
 
  188                 (WPARAM)context->FileIcon, 0);
 
  195             if (versionInfoInitialized)
 
  198             if (!context->Record->FileName)
 
  203             if (context->Record->CreateTime.QuadPart != 0)
 
  208             if (context->Record->ExitTime.QuadPart != 0)
 
  218             if (context->FileIcon)
 
  219                 DestroyIcon(context->FileIcon);
 
  224             switch (LOWORD(wParam))
 
  229                     EndDialog(hwndDlg, IDOK);
 
  234                     if (context->Record->FileName)
 
  249                         PhShowError(hwndDlg, L
"The process has already terminated; only the process record is available.");