Параметры функции MiniDumpWriteDump (): зачем нам нужен дескриптор и идентификатор? - PullRequest
4 голосов
/ 04 ноября 2010

Я проверил определение метода MiniDumpWriteDump () в MSDN, как показано ниже:

BOOL WINAPI MiniDumpWriteDump(
  __in  HANDLE hProcess,
  __in  DWORD ProcessId,
  __in  HANDLE hFile,
  __in  MINIDUMP_TYPE DumpType,
  __in  PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
  __in  PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
  __in  PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);

Параметры:

hProcess [in]

Дескриптор процесса, для которого должна быть сгенерирована информация.

ProcessId [in]

Идентификатор процесса, для которого должна быть сгенерирована информация.

Поскольку дескриптор процесса или процессID может идентифицировать процесс, почему мы должны передавать их обоих? Разве мы не можем вывести одно из них из другого ?Так что между ними должны быть некоторые различия, что они?

Спасибо.

1 Ответ

0 голосов
/ 22 марта 2011

Я думаю, что это возможно только по историческим причинам. Обратите внимание, что функция GetProcessId, которая позволяет получить PID из дескриптора процесса, не существовала до Windows Server 2003:

http://msdn.microsoft.com/en-us/library/ms683215%28v=vs.85%29.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...