Код (Text): typedef struct _EXIT_PROCESS_DEBUG_INFO { DWORD dwExitCode; } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO; Где можно взять инфу по значениям dwExitCode ??
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug /base/exit_process_debug_info_str.asp
ProgramMan Ну и что? Естественно я смотрел msdn.. Например dwExitCode = 103 что это означает? или dwExitCode = 0 ....
Asterix Есть такая тулза от MS - называется Error Lookup. Так вот, твой 103 - это "The semaphore cannot be set again.". Где-то это есть и в MS-доках, просто рыться надо...
Тулзу посмотрел. Скорее всего это не то что нужно, например для функции Код (Text): VOID ExitProcess( UINT uExitCode // exit code for all threads ); Что будет означать uExitCode? Я кстати не правильно указал мне нужно значение 0x103 что скорее всего означает STILL_ACTIVE
Не поленился я порыться в MSDN. А ты - лентяй. Итак, топик называется "System Error Codes". The following table provides a list of system error codes. The values are defined in the WinError.h header file. They are returned by the GetLastError function when many functions fail. To retrieve the description text for the error in your application, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag. А дальше - офигительных размеров таблица, где есть твой 0x103 = 259 = No more data is available. = ERROR_NO_MORE_ITEMS
Нет, volodya, в моём случае это не коды ошибок, это "коды завершений", посмотри хотя бы в msdn про ExitProcess, там как раз написано про STILL_ACTIVE
Я чё-то не пойму, что ваще надо-то. Читаем MSDN: Примечания Если указанный процесс не завершился, то возвращается статус STILL_ACTIVE. Если же процесс завершился, то возвращаемый статус является одним из следующего: Код выхода, указанный в качестве параметра функции ExitProcess или TerminateProcess. Значение, возвращённое функцией процесса main или WinMain. Значение необрабатываемого исключения, которое вызвало завершение процесса. Внимание: Если указанный процесс может вернуть STILL_ACTIVE (259) в качестве кода ошибки, то приложение, ориентируещееся на это значение, может войти в бесконечный цикл. То есть я это понимаю так: приложение может вернуть ЛЮБОЙ код выхода, они не стандартизованы. В ОС "Виндовс" многие приложения де-факто используют нуль как обозначение удачи и любое, отличное от нуля, значение как обозначение ошибки. При этом существует такая проблема, что значение STILL_ACTIVE, использующееся в качестве обозначения того факта, что процесс работает, может быть возвращено самим ничего не подозревающим процессом в качестве кода выхода (например, как ERROR_NO_MORE_ITEMS). В этом случае, программа, проверяющая факт завершения процесса при помощи вызова функции GetExitCodeProcess(), войдёт в вечный цикл. Отсюда следует, что необходимо проверять факт завершения процесса каким-либо другим способом, а при наличии такого факта вызывать функцию GetExitCodeProcess() для получения кода выхода. В последнем случае код выхода 259, вероятно, означает "No more data is available".
Наверное эти: Код (Text): #define WAIT_TIMEOUT STATUS_TIMEOUT #define WAIT_IO_COMPLETION STATUS_USER_APC #define STILL_ACTIVE STATUS_PENDING #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT STATUS_XXX в ntstatus.h или у меня в ntstatus.inc можно посмотреть.