ACTCTX_SECTION_KEYED_DATA 構造体 (winbase.h)

ACTCTX_SECTION_KEYED_DATA構造体は、FindActCtxSectionString 関数と FindActCtxSectionGuid 関数によって使用され、GUID または 32 ビットの整数タグ付きアクティブ化コンテキスト セクションと共にアクティブ化コンテキスト情報を返します。

構文

typedef struct tagACTCTX_SECTION_KEYED_DATA {
  ULONG                                       cbSize;
  ULONG                                       ulDataFormatVersion;
  PVOID                                       lpData;
  ULONG                                       ulLength;
  PVOID                                       lpSectionGlobalData;
  ULONG                                       ulSectionGlobalDataLength;
  PVOID                                       lpSectionBase;
  ULONG                                       ulSectionTotalLength;
  HANDLE                                      hActCtx;
  ULONG                                       ulAssemblyRosterIndex;
  ULONG                                       ulFlags;
  ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;

メンバー

cbSize

アクティブ化コンテキストのキー付きデータ構造のサイズ (バイト単位)。

ulDataFormatVersion

キーが見つかったセクションのデータの形式を示す数値。 クライアントは、なじみのないデータ形式の値を解釈するのではなく、データ形式のバージョンが期待どおりにであることを確認する必要があります。 この数値は、セクション データ形式に対して下位互換性のないメジャー変更を行う必要がある場合にのみ変更されます。 現在の形式のバージョンは 1 です。

lpData

セクション識別子とキーに関連付けられているリダイレクト データへのポインター。

ulLength

lpData によって参照される構造体内のバイト数。 データ構造は時間の経過と同時に大きくなることに注意してください。 は、ulLength を超えるインスタンス データのメンバーにはアクセスしません。

lpSectionGlobalData

キーが見つかったアクティブ化コンテキスト セクションにグローバルなセクション固有のデータ構造へのポインターを返しました。 その解釈は、要求されたセクション識別子によって異なります。

ulSectionGlobalDataLength

lpSectionGlobalData によって参照されるセクション グローバル データ ブロック内のバイト数。

データ構造は時間の経過と同時に増加し、古い形式のアクティブ化コンテキスト データ ブロックを受け取る場合があることに注意してください。 ulSectionGlobalDataLength を超えるセクション グローバル データのメンバーにはアクセスしません。

lpSectionBase

キーが見つかったセクションのベースへのポインター。 一部のインスタンス データには、セクションのベース アドレスに対する相対オフセットが含まれています。この場合、このポインター値が使用されます。

ulSectionTotalLength

lpSectionBase から始まるセクション全体のバイト数。 オフセットと長さのペア (セクションベースを基準として指定) がセクションに完全に含まれていることを確認するために使用できます。

hActCtx

キーが見つかったアクティブ化コンテキストを処理します。 最初に、スレッドのアクティブなアクティブ化コンテキストが検索され、その後にプロセスの既定のアクティブ化コンテキスト、次にシステム互換の既定のアクティブ化コンテキストが検索されます。 このメンバーは、要求されたセクションとキーを含むアクティブ化コンテキストを示します。 これは、FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX フラグが渡された場合にのみ返されます。

これが返されるときに、呼び出し元は、アクティブ化コンテキストへの他のすべての参照が解放されたときに、システム リソースを解放するために返されるアクティブ化コンテキスト ハンドルで ReleaseActCtx() を呼び出す必要があることに注意してください。

ulAssemblyRosterIndex

見つかったリダイレクト情報を提供したアクティブ化コンテキスト内のアセンブリのカーディナル番号。 この値を QueryActCtxW に表示して、コントリビューション アセンブリの詳細を確認できます。

ulFlags

AssemblyMetadata

解説

呼び出し元は、 次のようにACTCTX_SECTION_KEYED_DATA 構造体を初期化する必要があります。

"ACTCTX_SECTION_KEYED_DATA askd = { sizeof(askd) };"

正しく設定されているサイズ フィールドを除き、すべてのメンバーを 0/null に初期化します。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winbase.h (Windows.h を含む)

関連項目

ACTCTX

FindActCtxSectionGuid

FindActCtxSectionString