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

このパラメーターは予約されており、0 である必要があります。

[in, out] lpSize

lpAttributeList が NULL でない場合、このパラメーターは入力時の lpAttributeList バッファーのサイズをバイト単位で指定します。 出力時に、このパラメーターは初期化された属性リストのサイズ (バイト単位) を受け取ります。

lpAttributeList が NULL の場合、このパラメーターは必要なバッファー サイズをバイト単位で受け取ります。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、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