Функция InitializeProcThreadAttributeList (processthreadsapi.h)

Инициализирует указанный список атрибутов для создания процесса и потока.

Синтаксис

BOOL InitializeProcThreadAttributeList(
  [out, optional] LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
  [in]            DWORD                        dwAttributeCount,
                  DWORD                        dwFlags,
  [in, out]       PSIZE_T                      lpSize
);

Параметры

[out, optional] lpAttributeList

Список атрибутов. Этот параметр может иметь значение NULL, чтобы определить размер буфера, необходимый для поддержки указанного числа атрибутов.

[in] dwAttributeCount

Число атрибутов, добавляемых в список.

dwFlags

Этот параметр зарезервирован и должен иметь нулевое значение.

[in, out] lpSize

Если lpAttributeList не имеет значение NULL, этот параметр указывает размер буфера lpAttributeList в байтах для входных данных. В выходных данных этот параметр получает размер списка инициализированных атрибутов в байтах.

Если lpAttributeList имеет значение NULL, этот параметр получает требуемый размер буфера в байтах.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Сначала вызовите эту функцию с параметром dwAttributeCount , равным максимальному количеству атрибутов, которые вы будете использовать, а для параметра lpAttributeList задано значение NULL. Функция возвращает требуемый размер буфера в байтах в параметре lpSize .

Примечание Этот первоначальный вызов вернет ошибку по умолчанию. Это ожидаемое поведение.
 
Выделите достаточно места для данных в буфере lpAttributeList и снова вызовите функцию для инициализации буфера.

Чтобы добавить атрибуты в список, вызовите функцию UpdateProcThreadAttribute . Чтобы указать эти атрибуты при создании процесса, укажите EXTENDED_STARTUPINFO_PRESENT в параметре dwCreationFlag и структуру STARTUPINFOEX в параметре lpStartupInfo . Обратите внимание, что можно указать одну и ту же структуру STARTUPINFOEX для нескольких дочерних процессов.

Завершив использование списка, вызовите функцию DeleteProcThreadAttributeList .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header processthreadsapi.h (включая Windows.h в Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

DeleteProcThreadAttributeList

Функции процессов и потоков

UpdateProcThreadAttribute