Fungsi LoadEnclaveData (enclaveapi.h)
Memuat data ke enklave yang tidak diinisialisasi yang Anda buat dengan memanggil CreateEnclave.
Sintaks
BOOL LoadEnclaveData(
[in] HANDLE hProcess,
[in] LPVOID lpAddress,
[in] LPCVOID lpBuffer,
[in] SIZE_T nSize,
[in] DWORD flProtect,
[in] LPCVOID lpPageInformation,
[in] DWORD dwInfoLength,
[out] PSIZE_T lpNumberOfBytesWritten,
[out, optional] LPDWORD lpEnclaveError
);
Parameter
[in] hProcess
Handel ke proses tempat enklave dibuat.
[in] lpAddress
Alamat di enklave tempat Anda ingin memuat data.
[in] lpBuffer
Penunjuk ke data yang ingin Anda muat ke enklave.
[in] nSize
Ukuran data yang ingin Anda muat ke enklave, dalam byte. Nilai ini harus berupa kelipatan bilangan bulur dari ukuran halaman.
[in] flProtect
Perlindungan memori yang digunakan untuk halaman yang ingin Anda tambahkan ke enklave. Untuk daftar nilai perlindungan memori, lihat konstanta perlindungan memori. Nilai ini tidak boleh menyertakan konstanta berikut:
- PAGE_GUARD
- PAGE_NOCACHE
- PAGE_WRITECOMBINE
- PAGE_NOACCESS
Nilai ini dapat menyertakan konstanta spesifik enklave yang dijelaskan tabel berikut:
Terus-menerus | Deskripsi |
---|---|
PAGE_ENCLAVE_THREAD_CONTROL | Halaman berisi struktur kontrol utas (TCS). |
PAGE_ENCLAVE_UNVALIDATED | Konten halaman yang Anda berikan dikecualikan dari pengukuran dengan instruksi EEXTEND dari model pemrograman Intel Software Guard Extensions. |
[in] lpPageInformation
Penunjuk ke informasi yang menjelaskan halaman yang ingin Anda tambahkan ke enklave. Parameter lpPageInformation tidak digunakan.
[in] dwInfoLength
Panjang struktur yang dirujuk parameter lpPageInformation , dalam byte. Nilai ini harus 0
.
[out] lpNumberOfBytesWritten
Penunjuk ke variabel yang menerima jumlah byte yang disalin LoadEnclaveData ke enklave.
[out, optional] lpEnclaveError
Penunjuk opsional ke variabel yang menerima kode kesalahan enklave yang khusus untuk arsitektur. Parameter lpEnclaveError tidak digunakan.
Mengembalikan nilai
Jika semua data berhasil dimuat ke enklave, nilai yang dikembalikan bukan nol. Jika tidak, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Untuk daftar kode kesalahan umum, lihat Kode Kesalahan Sistem. Kode kesalahan berikut juga berlaku untuk fungsi ini.
Menampilkan kode | Deskripsi |
---|---|
ERROR_BAD_LENGTH | Nilai parameter dwInfoLength tidak cocok dengan nilai yang diharapkan berdasarkan nilai yang ditentukan untuk parameter lpPageInformation . |
Keterangan
Untuk menginisialisasi enklave setelah Anda memuat data ke enklave, panggil InitializeEnclave.
LoadEnclaveData hanya didukung enklave yang memiliki jenis enklave ENCLAVE_TYPE_SGX dan ENCLAVE_TYPE_SGX2 .
Persyaratan
Klien minimum yang didukung | Windows 10 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2016 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | enclaveapi.h (termasuk Winbase.h) |
Pustaka | onecore.lib |
DLL | Api-ms-win-core-enclave-l1-1-0.dll; kernel32.dll; KernelBase.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