Bagikan melalui


Fungsi InitializeContext2 (winbase.h)

Menginisialisasi struktur CONTEXT di dalam buffer dengan ukuran dan perataan yang diperlukan, dengan opsi untuk menentukan masker pemadatan XSTATE.

Sintaksis

BOOL InitializeContext2(
  [out, optional] PVOID    Buffer,
                  DWORD    ContextFlags,
  [out, optional] PCONTEXT *Context,
  [in, out]       PDWORD   ContextLength,
                  ULONG64  XStateCompactionMask
);

Parameter

[out, optional] Buffer

Penunjuk ke buffer untuk menginisialisasi struktur CONTEXT . Parameter ini dapat berupa NULL untuk menentukan ukuran buffer yang diperlukan untuk menyimpan rekaman konteks dengan ContextFlags yang ditentukan.

ContextFlags

Nilai yang menunjukkan bagian mana dari struktur Konteks yang harus diinisialisasi. Parameter ini memengaruhi ukuran struktur Konteks yang diinisialisasi.

PerhatikanCONTEXT_XSTATE bukan bagian dari CONTEXT_FULL atau CONTEXT_ALL. Ini harus ditentukan secara terpisah jika konteks XState diinginkan.
 

[out, optional] Context

Penunjuk ke variabel yang menerima alamat struktur CONTEXT yang diinisialisasi dalam Buffer.

Nota Karena persyaratan penyelarasan struktur CONTEXT , nilai yang dikembalikan dalam Konteks mungkin tidak berada di awal buffer yang disediakan.
 

[in, out] ContextLength

Pada input, menentukan panjang buffer yang diacu oleh Buffer, dalam byte. Jika buffer tidak cukup besar untuk berisi bagian KONTEKS yang ditentukan, fungsi gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan ContextLength diatur ke ukuran buffer yang diperlukan. Jika fungsi gagal dengan kesalahan selain ERROR_INSUFFICIENT_BUFFER, konten ContextLength tidak ditentukan.

XStateCompactionMask

Menyediakan masker pemadatan XState untuk digunakan saat mengalokasikan struktur Konteks . Parameter ini hanya digunakan ketika CONTEXT_XSTATE disediakan ke ContextFlags dan sistem mengaktifkan XState dalam mode pemadatan.

Mengembalikan nilai

Fungsi ini mengembalikan TRUE jika berhasil, jika tidak FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

InitializeContext dapat digunakan untuk menginisialisasi struktur CONTEXT dalam buffer dengan ukuran dan karakteristik perataan yang diperlukan. Rutinitas ini diperlukan jika CONTEXT_XSTATEContextFlag ditentukan karena ukuran konteks dan penyelarasan yang diperlukan dapat berubah tergantung pada fitur prosesor mana yang diaktifkan pada sistem.

Pertama, panggil fungsi ini dengan parameter ContextFlags yang diatur ke jumlah maksimum fitur yang akan Anda gunakan dan parameter Buffer ke NULL. Fungsi mengembalikan ukuran buffer yang diperlukan dalam byte dalam parameter ContextLength . Alokasikan cukup ruang untuk data di Buffer dan panggil fungsi lagi untuk menginisialisasi Konteks. Setelah berhasil menyelesaikan rutinitas ini, anggota ContextFlags dari struktur Konteks diinisialisasi, tetapi konten struktur yang tersisa tidak ditentukan. Beberapa bit yang ditentukan dalam parameter ContextFlags mungkin tidak diatur dalam Context-ContextFlags> jika tidak didukung oleh sistem. Aplikasi selanjutnya dapat dihapus, tetapi tidak boleh menambahkan, bit dari anggota ContextFlagsdari CONTEXT.

Windows 7 dengan SP1 dan Windows Server 2008 R2 dengan SP1: API AVX pertama kali diterapkan pada Windows 7 dengan SP1 dan Windows Server 2008 R2 dengan SP1 . Karena tidak ada SDK untuk SP1, itu berarti tidak ada header dan file pustaka yang tersedia untuk dikerjakan. Dalam situasi ini, penelepon harus mendeklarasikan fungsi yang diperlukan dari dokumentasi ini dan mendapatkan pointer kepada mereka menggunakan GetModuleHandle di "Kernel32.dll", diikuti dengan panggilan ke GetProcAddress. Lihat Bekerja dengan Konteks XState untuk detailnya.

Ketika XState diaktifkan dalam mode pemadatan, menentukan XStateCompactionMask yang hanya berisi subset komponen XState yang diaktifkan dapat mengurangi ukuran buffer yang diperlukan untuk menyimpan Konteks. Ini sangat berguna jika sistem mengaktifkan banyak komponen XState, tetapi Konteks hanya akan digunakan untuk memengaruhi sejumlah kecil komponen XState. Set lengkap komponen XState yang diaktifkan dapat diperoleh dengan memanggil GetEnabledXStateFeatures. Fungsi ini menyalin masker pemadatan XState yang ditentukan ke lokasi yang relevan di header XState.

Persyaratan

Syarat Nilai
Klien minimum yang didukung Windows 10 Build 20348
Server minimum yang didukung Windows 10 Build 20348
Header winbase.h
Library kernel32. Lib

Lihat juga

CONTEXT

CopyContext

Intel AVX

Bekerja dengan Konteks XState