GW2RegisterLicenceMemory
GW2RegisterLicenceMemory mendaftarkan fail lesen yang disimpan dalam memori kepada satu sesi.
Jika kedua-dua GW2RegisterLicenceFile atau GW2RegisterLicenceMemory tidak didaftarkan dengan satu sesi, Editor akan cuba mencari lesen di lokasi lalai. Ini ialah fail bernama gwkey.lic yang terletak dalam folder yang sama seperti pustaka Editor. Jika fail itu tidak dapat ditemui maka pustaka akan dianggap tidak berlesen dan sesetengah proses mungkin gagal disebabkan isu tamat tempoh lesen.
- C++
- C#
- Java
- Python
- JavaScript
Sinopsis
Bagi sesi session, fungsi GW2RegisterLicenceMemory mendaftarkan lesen yang akan digunakan oleh Glasswall semasa memproses fail. licenceContents ialah penuding kepada data lesen, licenceLength menentukan saiz data lesen dalam bait.
#include "glasswall.core2.api.h"
int GW2RegisterLicenceMemory(Session session,
const char *licenceContents,
size_t licenceLength);
Pulangan
Mengembalikan nilai enum integer GW2_RetStatus. Nombor negatif menunjukkan kegagalan.
Contoh
#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 */
Sinopsis
Bagi sesi session, kaedah RegisterLicenceMemory mendaftarkan lesen yang akan digunakan oleh Glasswall semasa memproses fail.
/// <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)
Pulangan
Mengembalikan nilai enum integer GW2_RetStatus. Nombor negatif menunjukkan kegagalan.
Sinopsis
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
Nota
length bagi licenceBuffer boleh ditentukan secara pilihan.
Pulangan
Fungsi GW2RegisterLicenceMemory mengembalikan enumerasi GW2_RetStatus yang ditukarkan kepada int. Nilainya akan negatif jika ralat berlaku. 0 menunjukkan kejayaan. Rujuk API Overview/Return types untuk butiran lanjut.
Pengecualian GlasswallException akan dilemparkan jika session tidak sah.
Pengecualian NullPointerException akan dilemparkan jika penimbal licenceBuffer adalah null atau kosong.
Pendaftaran lesen bagi setiap sesi dikendalikan secara automatik dalam pembungkus Python, dan pengguna tidak perlu memanggil GW2RegisterLicenceFile atau GW2RegisterLicenceMemory secara manual.
Secara lalai, kelas Editor menjangkakan fail lesen yang sah berada dalam direktori yang sama dengan library_path. Anda juga boleh menentukan laluan berbeza ke fail lesen gwkey.lic menggunakan argumen 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")
Sebagai alternatif, anda boleh menghantar data lesen dalam memori sebagai objek bytes, bytearray, atau 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
)
Sinopsis
Bagi sesi session, fungsi GW2RegisterLicenceMemory mendaftarkan lesen yang akan digunakan oleh Glasswall semasa memproses fail. licenceContents ialah penuding kepada data lesen, licenceLength menentukan saiz data lesen dalam bait.
/**
* 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)
Pulangan
Mengembalikan nilai enum integer GW2_RetStatus. Nombor negatif menunjukkan kegagalan.