4

以下のように、MSDNでMiniDumpWriteDump()メソッドの定義を確認しました。

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つを他から推測することはできませんか?それで、それらの間にはいくつかの違いがあるはずです、それらは何ですか?

ありがとう。

4

1 に答える 1

0

おそらく歴史的な理由によるものだと思います。プロセス ハンドルから PID を取得できる GetProcessId 関数は、Windows Server 2003 より前には存在しなかったことに注意してください。

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

于 2011-03-22T12:31:13.610 に答える