Chuyển đến nội dung chính

GW2RegisterOutputMemory

Hàm GW2RegisterOutputMemory đăng ký vị trí bộ nhớ để đặt tệp được quản lý do Glasswall tạo ra vào một session. Việc sử dụng hàm này sẽ kích hoạt Manage & Protect Process Mode cho session.

Tóm tắt

Đối với session session, hàm GW2RegisterOutputMemory đăng ký nơi nội dung được quản lý sẽ được đặt vào, và nơi đặt kích thước tính bằng byte của nội dung được quản lý. Một con trỏ tới nội dung tệp được quản lý sẽ được đặt trong đối tượng mà outputBuffer trỏ tới và kích thước tính bằng byte của dữ liệu được quản lý sẽ được đặt trong đối tượng size_toutputLength trỏ tới. Nội dung tệp được quản lý sẽ bị xóa khi session được đóng bằng GW2CloseSession. Việc sử dụng hàm này kích hoạt Manage and Protect Process Mode cho session.

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

Giá trị trả về

Trả về một giá trị enum GW2_RetStatus dạng số nguyên. Các số âm cho biết thất bại.

Ví dụ


#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 */