Função InitializeProcThreadAttributeList (processthreadsapi.h)

Inicializa a lista especificada de atributos para criação de processo e thread.

Sintaxe

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

Parâmetros

[out, optional] lpAttributeList

A lista de atributos. Esse parâmetro pode ser NULL para determinar o tamanho do buffer necessário para dar suporte ao número especificado de atributos.

[in] dwAttributeCount

A contagem de atributos a serem adicionados à lista.

dwFlags

Esse parâmetro é reservado e precisa ser zero.

[in, out] lpSize

Se lpAttributeList não for NULL, esse parâmetro especificará o tamanho em bytes do buffer lpAttributeList na entrada. Na saída, esse parâmetro recebe o tamanho em bytes da lista de atributos inicializados.

Se lpAttributeList for NULL, esse parâmetro receberá o tamanho do buffer necessário em bytes.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Primeiro, chame essa função com o parâmetro dwAttributeCount definido como o número máximo de atributos que você usará e o lpAttributeList como NULL. A função retorna o tamanho do buffer necessário em bytes no parâmetro lpSize .

Nota Essa chamada inicial retornará um erro por design. Esse comportamento é esperado.
 
Aloque espaço suficiente para os dados no buffer lpAttributeList e chame a função novamente para inicializar o buffer.

Para adicionar atributos à lista, chame a função UpdateProcThreadAttribute . Para especificar esses atributos ao criar um processo, especifique EXTENDED_STARTUPINFO_PRESENT no parâmetro dwCreationFlag e uma estrutura STARTUPINFOEX no parâmetro lpStartupInfo . Observe que você pode especificar a mesma estrutura STARTUPINFOEX para vários processos filho.

Quando terminar de usar a lista, chame a função DeleteProcThreadAttributeList .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h no Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

DeleteProcThreadAttributeList

Funções de thread e processo

UpdateProcThreadAttribute