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 函数。 若要在创建进程时指定这些属性,请在 dwCreationFlag 参数中指定EXTENDED_STARTUPINFO_PRESENT,并在 lpStartupInfo 参数中指定 STARTUPINFOEX 结构。 请注意,可以为多个子进程指定相同的 STARTUPINFOEX 结构。

使用完列表后,调用 DeleteProcThreadAttributeList 函数。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 processthreadsapi.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

DeleteProcThreadAttributeList

进程和线程函数

UpdateProcThreadAttribute