GW2GetFileTypeID
Setiap jenis file memiliki ID terkait di Glasswall Engine. API ini menyediakan ID jenis file Glasswall dalam format string untuk ekstensi file terkait yang diberikan.
- C++
- C#
- Java
- Python
- JavaScript
#include "glasswall.core2.api.h"
int GW2GetFileTypeID(
Session session,
const char *fileType,
size_t *bufferLength,
char **outputBuffer);
Parameter
session ID sesi seperti yang dikembalikan oleh GW2OpenSession
fileType String yang berisi ekstensi file. Misalnya "bmp".
bufferLength Parameter output yang diisi dengan ukuran dalam byte dari memori yang ditunjuk oleh outputBuffer.
outputBuffer Parameter output pointer string yang diisi dengan file type ID yang terkait dengan ekstensi yang diberikan. Memori yang digunakan oleh pointer ini tidak perlu dibebaskan oleh pengguna.
Hasil pengembalian
Mengembalikan integer yang menunjukkan apakah pemanggilan fungsi berhasil. Angka negatif menunjukkan kegagalan. Lihat tabel Return Types untuk penjelasan kode pengembalian. Jika berhasil, outputBuffer akan diisi dengan file type ID.
Contoh
#include "glasswall.core2.api.h"
char *outbuf = NULL;
size_t buflen = 0;
if (GW2OpenSession() < 0)
/* error opening session */
else
{
int status = GW2GetFileTypeID(session, fileType, &buflen, &outbuf);
/* outbuf points to a buffer containing the XML file.
* Either process the data pointed to, or copy the data and process it
* after GW2CloseSession is called
*/
if (GW2CloseSession() < 0)
/* error closing session */
}
Sinopsis
public int GetFileTypeID(
int session,
string fileType,
ref UIntPtr bufferLength,
out IntPtr outputBuffer)
Hasil pengembalian
Mengembalikan nilai enum integer GW2_RetStatus. Angka negatif menunjukkan kegagalan. Jika berhasil, buffer output diisi dengan file type ID.
Contoh
using glasswall_core2;
...
Glasswall glasswall = new Glasswall(); // Instance of the Glasswall wrapper
int session = glasswall.OpenSession();
int returnStatus = glasswall.GetFileTypeID(session, "pdf", ref bufferLength, out buffer);
if (bufferLength >= 0)
{
byte[] msgArray = glasswall.CreateArrayFromBuffer(buffer, bufferLength);
// File type ID for PDF is now stored in a byte array
}
if (glasswall.CloseSession(session))
{
// Error Handling
}
Sinopsis
Tidak didukung di Java
Sinopsis
Ambil informasi tentang tipe file berdasarkan pengenalnya.
def get_file_type_info(self, file_type: Union[str, int]):
""" Retrieve information about a file type based on its identifier.
Args:
file_type (Union[str, int]): The file type identifier. This can be either a string representing a file
extension (e.g. 'bmp') or an integer corresponding to a file type (e.g. 29).
Returns:
- file_type_info (Union[int, str]): Depending on the input 'file_type':
- If `file_type` is a string (e.g. 'bmp'):
- If the file type is recognised, returns an integer corresponding to that file type.
- If the file type is not recognised, returns 0.
- If `file_type` is an integer (e.g. 29):
- If the integer corresponds to a recognised file type, returns a more detailed string description
of the file type (e.g. 'BMP Image').
- If the integer does not match any recognised file type, returns an empty string.
"""
Hasil pengembalian
Mengembalikan integer atau string bergantung pada input 'file_type'. Nilai ini dapat berupa integer dari tipe file yang dikenali, deskripsi string terperinci dari tipe file yang dikenali, atau jika input 'file_type' tidak dikenali, 0 atau string kosong.
Sinopsis
Fungsi ini menempatkan pointer ke deskripsi dari fileType yang ditentukan di lokasi yang ditentukan.
/**
*
* @param {number} session The ID of the session.
* @param {string} fileType The extension of the file type.
* @param {number} bufferLength The length of the buffer.
* @param {string} outputBuffer The location of the output buffer.
*/
GW2GetFileTypeID(
session,
fileType,
bufferLength,
outputBuffer)
Hasil pengembalian
Mengembalikan nilai enum integer GW2_RetStatus. Angka negatif menunjukkan kegagalan. Jika berhasil, buffer output diisi dengan ID jenis file.
Contoh
const ref = require('ref-napi');
...
function buffer_to_string(buffer, buffer_size) {
if (!buffer.isNull() && ref.deref(buffer_size) > 0) {
return Buffer.from(ref.reinterpret(ref.deref(buffer), ref.deref(buffer_size), 0)).toString();
}
else {
return "";
}
}
...
output_file_buffer = ref.alloc(ref.refType(ref.types.CString));
output_buffer_size = ref.alloc(ref.types.size_t, 0);
return_status = gw.GW2GetFileTypeID(session_id, "pdf", output_buffer_size, output_file_buffer);
let error_description = buffer_to_string(output_file_buffer, output_buffer_size);
...