- •Способы доступа к общим ресурсам
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
- •Примечания
- •Параметры
- •Возвращаемые значения
Параметры
lpThreadAttributes
Указатель на структуру SECURITY_ATTRIBUTES, определяющую, может ли возвращаемый хендл наследоваться дочерними процессами. Если lpThreadAttributes равен NULL, хендл не может быть унаследован.
Windows NT/2000: Элемент lpSecurityDescriptor данной структуры задает дескриптор безопасности для нового потока. Если lpThreadAttributes равен NULL, поток получает дескриптор безопасности по умолчанию.
dwStackSize
Задает начальный размер стека, в байтах. Система округляет данное значение до ближайшей страницы. Если заданное значение равно 0 или меньше размера по умолчанию, используется размер стека вызвавшего потока.
lpStartAddress
Указатель на функцию приложения типа LPTHREAD_START_ROUTINE, которую должен выполнить поток; представляет собой начальный адрес выполнения потока.
lpParameter
Задает значение 32-битного параметра, передаваемое в поток.
dwCreationFlags
Задает дополнительные флаги, управляющие созданием потока. Если задан флаг CREATE_SUSPENDED, поток создается в приостановленном состоянии и не будет выполняться до вызова функции ResumeThread. Если этот параметр равен нулю, поток начинает выполняться сразу после создания. На данный момент, никакие другие значения не поддерживаются.
lpThreadId
Указатель на 32-битную переменную, получающую идентификатор потока.
Windows NT/2000: Если этот параметр равен NULL, идентификатор потока не возвращается.
Windows 95/98: Этот параметр не может быть равным NULL.
Возвращаемые значения
Если функция выполнилась успешно, возвращается хендл нового потока.
Если функция выполнилась неуспешно, возвращается NULL. Для получения более подробной информации об ошибке используйте GetLastError.
Заметьте, что BeginThread может выполниться успешно, даже если lpStartAddress указывает на данные, код, либо вообще на недоступную область. Если стартовый адрес неверен на момент, когда запускается поток, происходит исключение и поток завершается. Завершение потока из-за неверного стартового адреса обрабатывается как выход по ошибке.
