Bagikan melalui


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.

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.

Catatan 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 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

KONTEKS

CopyContext

Intel AVX

Bekerja dengan Konteks XState