GW2GetFileTypeID
Glasswall Engine में प्रत्येक फ़ाइल प्रकार से एक संबद्ध ID जुड़ी होती है। यह API, प्रदान किए गए संबद्ध फ़ाइल एक्सटेंशन के लिए, स्ट्रिंग फ़ॉर्मेट में Glasswall फ़ाइल प्रकार ID प्रदान करता है।
- C++
- C#
- Java
- Python
- JavaScript
#include "glasswall.core2.api.h"
int GW2GetFileTypeID(
Session session,
const char *fileType,
size_t *bufferLength,
char **outputBuffer);
पैरामीटर
session session की ID, जैसा कि GW2OpenSession द्वारा लौटाया गया है
fileType फ़ाइल एक्सटेंशन वाली एक स्ट्रिंग। उदाहरण "bmp"।
bufferLength एक आउटपुट पैरामीटर, जिसे outputBuffer द्वारा इंगित मेमोरी के बाइट्स में आकार से भरा जाता है।
outputBuffer एक स्ट्रिंग पॉइंटर आउटपुट पैरामीटर, जिसे दी गई एक्सटेंशन से संबंधित फ़ाइल टाइप ID से भरा जाता है। इस पॉइंटर द्वारा उपयोग की गई मेमोरी को उपयोगकर्ता द्वारा मुक्त करने की आवश्यकता नहीं है।
रिटर्न
एक पूर्णांक लौटाता है जो बताता है कि फ़ंक्शन कॉल सफल रही या नहीं। ऋणात्मक संख्याएँ विफलता दर्शाती हैं। रिटर्न कोड की व्याख्या के लिए Return Types तालिका देखें। यदि सफल हो, तो outputBuffer को फ़ाइल टाइप ID से भरा जाता है।
उदाहरण
#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 */
}
सारांश
public int GetFileTypeID(
int session,
string fileType,
ref UIntPtr bufferLength,
out IntPtr outputBuffer)
रिटर्न
एक पूर्णांक GW2_RetStatus enum मान लौटाता है। ऋणात्मक संख्याएँ विफलता दर्शाती हैं। यदि सफल हो, तो आउटपुट बफ़र को फ़ाइल टाइप ID से भरा जाता है।
उदाहरण
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
}
सारांश
Java में समर्थित नहीं है
सारांश
इसके identifier के आधार पर किसी file type के बारे में जानकारी प्राप्त करें।
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.
"""
रिटर्न
इनपुट 'file_type' के आधार पर एक integer या string लौटाता है। यह मान या तो किसी पहचाने गए file type का integer होता है, किसी पहचाने गए file type का विस्तृत string विवरण होता है, या यदि इनपुट 'file_type' पहचाना नहीं गया, तो 0 या एक empty string होता है।
सारांश
यह फ़ंक्शन निर्दिष्ट fileType के विवरण के लिए एक पॉइंटर को निर्दिष्ट स्थान पर रखता है।
/**
*
* @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)
रिटर्न
एक पूर्णांक GW2_RetStatus enum मान लौटाता है। ऋणात्मक संख्याएँ विफलता दर्शाती हैं। यदि सफल हो, तो आउटपुट बफ़र को फ़ाइल टाइप ID से भरा जाता है।
उदाहरण
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);
...