Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
[out, optional] Context
Penunjuk ke variabel yang menerima alamat struktur CONTEXT yang diinisialisasi dalam Buffer.
[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 |