Fungsi InitializeContext (winbase.h)
Menginisialisasi struktur CONTEXT di dalam buffer dengan ukuran dan perataan yang diperlukan.
Sintaks
BOOL InitializeContext(
[out, optional] PVOID Buffer,
[in] DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength
);
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.
[in] 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 terdefinisi.
Nilai kembali
Fungsi ini mengembalikan TRUE jika berhasil, jika tidak FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
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 ruang yang cukup untuk data di Buffer dan panggil fungsi lagi untuk menginisialisasi Konteks. Setelah berhasil menyelesaikan rutinitas ini, anggota ContextFlags dari struktur Konteks diinisialisasi, tetapi isi struktur yang tersisa tidak terdefinisi. Beberapa bit yang ditentukan dalam parameter ContextFlags mungkin tidak diatur dalam Context-ContextFlags> jika tidak didukung oleh sistem. Aplikasi kemudian 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 diimplementasikan 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 pada "Kernel32.dll", diikuti dengan panggilan ke GetProcAddress. Lihat Bekerja dengan Konteks XState untuk detailnya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 dengan SP1 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2 dengan SP1 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk