Lewati ke konten utama

GW2RegisterOutputMemory

Fungsi GW2RegisterOutputMemory mendaftarkan lokasi memori untuk menempatkan file terkelola yang dihasilkan oleh Glasswall ke sebuah session. Menggunakan fungsi ini mengaktifkan Manage & Protect Process Mode untuk session tersebut.

Sinopsis

Untuk session session, fungsi GW2RegisterOutputMemory mendaftarkan tempat konten terkelola akan ditempatkan, dan tempat ukuran dalam byte dari konten terkelola akan ditempatkan. Pointer ke konten file terkelola akan ditempatkan dalam objek yang ditunjuk oleh outputBuffer dan ukuran dalam byte dari data terkelola akan ditempatkan dalam objek size_t yang ditunjuk oleh outputLength. Konten file terkelola akan dihapus saat session ditutup menggunakan GW2CloseSession. Menggunakan fungsi ini mengaktifkan Manage and Protect Process Mode untuk session tersebut.

#include "glasswall.core2.api.h"
int GW2RegisterOutputMemory(Session session, char **outputBuffer, size_t *outputLength);

Hasil pengembalian

Mengembalikan nilai enum GW2_RetStatus berupa integer. Angka negatif menunjukkan kegagalan.

Contoh


#include "glasswall.core2.api.h"

HANDLE session = GW2OpenSession();
char *managed_content = NULL;
size_t size = 0;

if (!session)
/* deal with error */
else
{
if (GW2RegisterOutputMemory(session, &managed_content, &size) < 0)
/* deal with error */
else
/* continue processing */
...
}

/* later */
if (GW2CloseSession(session) < 0)
/* error closing session */
else
/* managed file content has been deleted */