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.
- C++
- C#
- Java
- Python
- JavaScript
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_t mà outputLength 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 */
Tóm tắt
public int RegisterOutputMemory(
int session,
out IntPtr outputBufferPtr,
ref UIntPtr outputBufferLengthPtr)
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.
Tóm tắt
import com.glasswall.core2javabridge.*;
public int GW2RegisterOutputMemory(int session) throws GlasswallException
Mô tả
Hàm GW2RegisterOutputMemory đăng ký một bộ đệm bộ nhớ để dùng làm đầu ra cho tệp đầu ra của session được chỉ định bởi session.
Bạn sẽ cần gọi GetOutputBuffer sau khi đã gọi GW2RunSession để lấy tệp đầu ra.
Giá trị trả về
Hàm GW2RegisterOutputMemory trả về một giá trị liệt kê GW2_RetStatus được chuyển đổi thành int. Giá trị sẽ là số âm nếu xảy ra lỗi. 0 cho biết thành công. Tham khảo API Overview/Return types để biết chi tiết.
Một ngoại lệ GlasswallException sẽ được ném ra nếu session không hợp lệ.
Tóm tắt - Truy xuất dữ liệu
import com.glasswall.core2javabridge.*;
public byte[] GetOutputBuffer(int session) throws GlasswallException
Mô tả
Hàm GetOutputBuffer truy xuất bộ đệm đầu ra được liên kết với phiên được chỉ định bởi session.
Giá trị trả về
Hàm GetOutputBuffer trả về một byte[] chứa tệp đầu ra. Giá trị này sẽ là null nếu GW2RegisterOutputMemory và GW2RunSession chưa được gọi, hoặc nếu tệp không tuân thủ.
Một ngoại lệ GlasswallException sẽ được ném ra nếu session không hợp lệ.
Tóm tắt
Đăng ký một tệp đầu ra cho phiên đã cho. Nếu output_file là None thì tệp sẽ được trả về dưới dạng các thuộc tính 'buffer' và 'buffer_length'.
def register_output(self, session, output_file: Optional[str] = None):
""" Register an output file for the given session. If output_file is None the file will be returned as 'buffer' and 'buffer_length' attributes.
Args:
session (int): The session integer.
output_file (Optional[str]): If specified, during run session the file will be written to output_file, otherwise the file will be written to the glasswall.GwReturnObj 'buffer' and 'buffer_length' attributes.
Returns:
gw_return_object (glasswall.GwReturnObj): A GwReturnObj instance with the attribute 'status' indicating the result of the function call. If output_file is None (memory mode), 'buffer', and 'buffer_length' are included containing the file content and file size.
"""
Giá trị trả về
gw_return_object (glasswall.GwReturnObj): Một thể hiện GwReturnObj với thuộc tính 'status' cho biết kết quả của lệnh gọi hàm. Nếu output_file là None (chế độ bộ nhớ), 'buffer' và 'buffer_length' sẽ được bao gồm, chứa nội dung tệp và kích thước tệp.
Thuộc tính status là một giá trị enum GW2_RetStatus kiểu số nguyên. Các số âm cho biết thất bại.
Tóm tắt
Hàm này đăng ký nơi nội dung được quản lý sẽ được đặt vào, và nơi đặt biến kích thước của nội dung.
/**
* @param {number} session The ID of the session.
* @param {string} outputBuffer The specified output path. Must be different to the specified input file path.
* @param {string} outputLength The size of the file buffer
*/
GW2RegisterOutputMemory(
session,
outputBuffer,
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.