GW2RegisterLicenceMemory
GW2RegisterLicenceMemory đăng ký tệp licence được giữ trong bộ nhớ vào một phiên.
Nếu cả GW2RegisterLicenceFile và GW2RegisterLicenceMemory đều không được đăng ký với một phiên, Editor sẽ cố gắng tìm kiếm giấy phép tại vị trí mặc định. Đây là một tệp có tên gwkey.lic nằm trong cùng thư mục với thư viện Editor. Nếu không tìm thấy, thư viện sẽ được coi là chưa được cấp phép và một số quy trình có thể thất bại do các vấn đề về hết hạn giấy phép.
- C++
- C#
- Java
- Python
- JavaScript
Tóm tắt
Đối với phiên session, hàm GW2RegisterLicenceMemory đăng ký licence sẽ được Glasswall sử dụng khi xử lý tệp. licenceContents là một con trỏ tới dữ liệu licence, licenceLength chỉ định kích thước tính bằng byte của dữ liệu licence.
#include "glasswall.core2.api.h"
int GW2RegisterLicenceMemory(Session session,
const char *licenceContents,
size_t licenceLength);
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"
Session session = GW2OpenSession();
char *licence = NULL;
size_t size = 0;
if (!session)
/* deal with error */
else
{
/* ... load 'licence' with a pointer to the licence content ... */
if (GW2RegisterLicenceMemory(session, licence, size) < 0)
/* deal with error */
else
/* continue processing */
}
. . .
/* later */
if (GW2CloseSession(session) < 0)
/* error closing session */
Tóm tắt
Đối với phiên session, phương thức RegisterLicenceMemory đăng ký licence sẽ được Glasswall sử dụng khi xử lý tệp.
/// <summary>
/// Provide a licence to use for the session.
/// </summary>
/// <param name="session">Current open Glasswall session</param>
/// <param name="licence">Byte content of the licence</param>
public int RegisterLicenceMemory(int session, byte[] licence)
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 GW2RegisterLicenceMemory(int session, byte[] licenceBuffer) throws GlasswallException, NullPointerException
public int GW2RegisterLicenceMemory(int session, byte[] licenceBuffer, int licenceLength) throws GlasswallException, NullPointerException
Lưu ý
length của licenceBuffer có thể được chỉ định tùy chọn.
Giá trị trả về
Hàm GW2RegisterLicenceMemory 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ệ.
Một ngoại lệ NullPointerException sẽ được ném ra nếu bộ đệm licenceBuffer là null hoặc rỗng.
Việc đăng ký giấy phép cho từng phiên được xử lý tự động trong Python wrapper và người dùng không cần gọi thủ công GW2RegisterLicenceFile hoặc GW2RegisterLicenceMemory.
Theo mặc định, lớp Editor yêu cầu một tệp giấy phép hợp lệ nằm trong cùng thư mục với library_path. Bạn cũng có thể chỉ định một đường dẫn khác tới tệp giấy phép gwkey.lic bằng đối số licence.
import glasswall
# Load the Glasswall Editor library with a specified licence file
editor = glasswall.Editor(r"C:\gwpw\libraries\10.0", licence=r"C:\gwpw\licence\gwkey.lic")
Ngoài ra, bạn có thể truyền dữ liệu giấy phép trong bộ nhớ dưới dạng đối tượng bytes, bytearray hoặc io.BytesIO.
import glasswall
# Alternatively, load the licence from in-memory bytes or bytearray
with open(r"C:\gwpw\licence\gwkey.lic", "rb") as f:
licence_data = f.read()
editor = glasswall.Editor(
r"C:\gwpw\libraries\10.0",
licence=licence_data # In-memory licence data
)
Tóm tắt
Đối với phiên session, hàm GW2RegisterLicenceMemory đăng ký licence sẽ được Glasswall sử dụng khi xử lý tệp. licenceContents là một con trỏ tới dữ liệu licence, licenceLength chỉ định kích thước tính bằng byte của dữ liệu licence.
/**
* Provides the contents of the licence file that will be used for this session.
* @param {number} session The ID of the session.
* @param {string} licenceContents A pointer to the licence data buffer.
* @param {number} licenceLength Length of the data in the licence buffer.
* @returns {number} Status of the operation; 0 for success, non-zero for failure.
*/
GW2RegisterLicenceMemory(session, licenceContents, licenceLength)
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.