GW2GetFileTypeID
Ang bawat uri ng file ay may kaugnay na ID sa Glasswall Engine. Ibinibigay ng API na ito ang Glasswall file type ID sa string format para sa kaugnay na ibinigay na file extension.
- C++
- C#
- Java
- Python
- JavaScript
#include "glasswall.core2.api.h"
int GW2GetFileTypeID(
Session session,
const char *fileType,
size_t *bufferLength,
char **outputBuffer);
Mga Parameter
session Ang ID ng session gaya ng ibinalik ng GW2OpenSession
fileType Isang string na naglalaman ng file extension. Halimbawa "bmp".
bufferLength Isang output parameter na pinupunan ng laki sa bytes ng memory na tinutukoy ng outputBuffer.
outputBuffer Isang output parameter na string pointer na pinupunan ng file type ID na nauugnay sa ibinigay na extension. Ang memory na ginagamit ng pointer na ito ay hindi kailangang i-free ng user.
Ibinabalik
Nagbabalik ng integer na nagsasaad kung matagumpay ang function call. Ang mga negatibong numero ay nagsasaad ng pagkabigo. Tingnan ang talahanayang Return Types para sa paliwanag ng mga return code. Kung matagumpay, ang outputBuffer ay pinupunan ng file type ID.
Halimbawa
#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 */
}
Buod
public int GetFileTypeID(
int session,
string fileType,
ref UIntPtr bufferLength,
out IntPtr outputBuffer)
Ibinabalik
Nagbabalik ng integer na GW2_RetStatus enum value. Ang mga negatibong numero ay nagpapahiwatig ng pagkabigo. Kung matagumpay, mapupunan ang output buffer ng file type ID.
Halimbawa
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
}
Buod
Hindi suportado sa Java
Buod
Kunin ang impormasyon tungkol sa isang uri ng file batay sa identifier nito.
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.
"""
Ibinabalik
Nagbabalik ng integer o string depende sa input na 'file_type'. Ang value na ito ay maaaring integer ng isang kinikilalang uri ng file, isang detalyadong string description ng isang kinikilalang uri ng file, o kung hindi kinilala ang input na 'file_type', 0 o isang walang lamang string.
Buod
Ang function na ito ay naglalagay ng pointer sa isang paglalarawan ng tinukoy na fileType sa isang tinukoy na lokasyon.
/**
*
* @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)
Ibinabalik
Nagbabalik ng integer na GW2_RetStatus enum value. Ang mga negatibong numero ay nagpapahiwatig ng pagkabigo. Kung matagumpay, mapupunan ang output buffer ng file type ID.
Halimbawa
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);
...