Struktur ACTCTXA (winbase.h)

Struktur ACTCTX digunakan oleh fungsi CreateActCtx untuk membuat konteks aktivasi.

Sintaks

typedef struct tagACTCTXA {
  ULONG   cbSize;
  DWORD   dwFlags;
  LPCSTR  lpSource;
  USHORT  wProcessorArchitecture;
  LANGID  wLangId;
  LPCSTR  lpAssemblyDirectory;
  LPCSTR  lpResourceName;
  LPCSTR  lpApplicationName;
  HMODULE hModule;
} ACTCTXA, *PACTCTXA;

Anggota

cbSize

Ukuran, dalam byte, dari struktur ini. Ini digunakan untuk menentukan versi struktur ini.

dwFlags

Bendera yang menunjukkan bagaimana nilai yang disertakan dalam struktur ini akan digunakan. Atur bit yang tidak terdefinisi dalam dwFlags ke 0. Jika bit yang tidak terdefinisi tidak diatur ke 0, panggilan ke CreateActCtx yang membuat konteks aktivasi gagal dan mengembalikan kode kesalahan parameter yang tidak valid.

Bendera bit Makna
ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID
1
0x001
ACTCTX_FLAG_LANGID_VALID
2
0x002
ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID
4
0x004
ACTCTX_FLAG_RESOURCE_NAME_VALID
8
0x008
ACTCTX_FLAG_SET_PROCESS_DEFAULT
16
0x010
ACTCTX_FLAG_APPLICATION_NAME_VALID
32
0x020
ACTCTX_FLAG_HMODULE_VALID
128
0x080

lpSource

String yang dihentikan null yang menentukan jalur file manifes atau gambar PE yang akan digunakan untuk membuat konteks aktivasi. Jika jalur ini mengacu pada file EXE atau DLL, anggota lpResourceName diperlukan.

wProcessorArchitecture

Mengidentifikasi jenis prosesor yang digunakan. Menentukan arsitektur prosesor sistem.

Nilai ini bisa menjadi salah satu nilai berikut:

wLangId

Menentukan manifes bahasa yang harus digunakan. Defaultnya adalah bahasa UI pengguna saat ini.

Jika bahasa yang diminta tidak dapat ditemukan, perkiraan dicari untuk menggunakan urutan berikut:

  • Bahasa khusus pengguna saat ini. Misalnya, untuk bahasa Inggris AS (1033).
  • Bahasa utama pengguna saat ini. Misalnya, untuk bahasa Inggris (9).
  • Bahasa khusus sistem saat ini.
  • Bahasa utama sistem saat ini.
  • Bahasa nonspesfik di seluruh dunia. Bahasa netral (0).

lpAssemblyDirectory

Direktori dasar untuk melakukan pemeriksaan perakitan privat jika rakitan dalam konteks aktivasi tidak ada di penyimpanan di seluruh sistem.

lpResourceName

Penunjuk ke string yang dihentikan null yang berisi nama sumber daya yang akan dimuat dari PE yang ditentukan dalam hModule atau lpSource. Jika nama sumber daya adalah bilangan bulat, atur anggota ini menggunakan MAKEINTRESOURCE. Anggota ini diperlukan jika lpSource mengacu pada EXE atau DLL.

lpApplicationName

Nama aplikasi saat ini. Jika nilai anggota ini diatur ke null, nama executable yang meluncurkan proses saat ini digunakan.

hModule

Gunakan anggota ini daripada lpSource jika Anda telah memuat DLL dan ingin menggunakannya untuk membuat konteks aktivasi daripada menggunakan jalur di lpSource. Lihat lpResourceName untuk aturan mencari sumber daya dalam modul ini.

Keterangan

Jika file yang diidentifikasi oleh nilai anggota lpSource adalah file gambar PE, CreateActCtx mencari manifes dalam file .manifest yang terletak di direktori yang sama dan di sumber daya RT_MANIFEST pertama yang terletak di file gambar PE. Untuk menemukan sumber daya bernama tertentu dari gambar, atur lpResourceName ke nama sumber daya, dan tambahkan ACTCTX_FLAG_RESOURCE_NAME_VALID ke anggota dwFlags . Lihat FindResource untuk informasi selengkapnya tentang menentukan nama sumber daya.

Dalam kebanyakan kasus, penelepon tidak boleh mengatur bendera ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID dan ACTCTX_FLAG_LANGID_VALID anggota dwFlags . Selain itu, dalam kebanyakan kasus, nilai anggota lpResourceName harus diatur ke null.

Nilai lpApplicationName dan lpAssemblyDirectory tidak diatur ke null ketika executable yang membuat konteks aktivasi adalah host untuk aplikasi. Dalam hal ini, host dapat mengatur nama yang berbeda untuk aplikasi untuk menemukan file konfigurasi, melaporkan kesalahan, dan sebagainya.

Catatan

Header winbase.h mendefinisikan ACTCTX sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header winbase.h (termasuk Windows.h)

Lihat juga

ACTCTX_SECTION_KEYED_DATA

CreateActCtx