GW2GetFileType
फ़ाइल प्रकार IDs को Glasswall Engine द्वारा समर्थित फ़ाइल प्रकारों से मैप किया जाता है। यह API, फ़ाइल प्रकार ID संख्या दिए जाने पर, स्ट्रिंग फ़ॉर्मेट में फ़ाइल प्रकार का औपचारिक नाम प्रदान करता है।
- C++
- C#
- Java
- Python
- JavaScript
#include "glasswall.core2.api.h"
int GW2GetFileType(
Session session,
size_t fileId,
size_t *bufferLength,
char **outputBuffer);
पैरामीटर
session session की ID, जैसा कि GW2OpenSession द्वारा लौटाया गया है
fileId फ़ाइल प्रकार ID को दर्शाने वाला एक पूर्णांक
bufferLength एक आउटपुट पैरामीटर, जिसे outputBuffer द्वारा इंगित मेमोरी के बाइट्स में आकार से भरा जाता है।
outputBuffer एक स्ट्रिंग पॉइंटर आउटपुट पैरामीटर, जिसे दिए गए फ़ाइल ID से संबद्ध फ़ाइल प्रकार के औपचारिक नाम से भरा जाता है, उदाहरण के लिए "BMP Image"। इस पॉइंटर द्वारा उपयोग की गई मेमोरी को उपयोगकर्ता द्वारा मुक्त करने की आवश्यकता नहीं है।
रिटर्न
एक पूर्णांक लौटाता है जो दर्शाता है कि function call सफल रहा या नहीं। ऋणात्मक संख्याएँ विफलता दर्शाती हैं। return codes की व्याख्या के लिए Return Types तालिका देखें। सफल होने पर outputBuffer को फ़ाइल प्रकार से संबद्ध औपचारिक नाम से भरा जाता है।
उदाहरण
#include "glasswall.core2.api.h"
#include "filetype.h" // ft_t enum which includes ft_bmp
char *outbuf = NULL;
size_t buflen = 0;
if (GW2OpenSession() < 0)
/* Error opening session */
else
{
int status = GW2GetFileType(session, ft_bmp, &buflen, &outbuf);
/* In this example outbuf will point to the string "BMP Image". */
if (GW2CloseSession() < 0)
/* Error closing session */
}
सारांश
public int GW2GetFileType(
int session,
uint fileID,
ref UIntPtr bufferLength,
out IntPtr outputBuffer)
रिटर्न
एक पूर्णांक GW2_RetStatus enum मान लौटाता है। ऋणात्मक संख्याएँ विफलता दर्शाती हैं। सफल होने पर, output buffer को फ़ाइल प्रकार के औपचारिक नाम से भरा जाता है।
उदाहरण
using glasswall_core2;
...
Glasswall glasswall = new Glasswall(); // Instance of the Glasswall wrapper
int session = glasswall.OpenSession();
int returnStatus = glasswall.GW2GetFileType(session, 22, ref bufferLength, out buffer);
if (bufferLength >= 0)
{
byte[] msgArray = glasswall.CreateArrayFromBuffer(buffer, bufferLength);
// Formal name for file type ID 22 now stored in a byte array
}
if (glasswall.CloseSession(session))
{
// Error Handling
}
सारांश
import com.glasswall.core2javabridge.*;
public String GW2GetFileTypeString(int session, int fileId) throws GlasswallException
नोट
इस functionality के लिए पहले file type data प्राप्त करने हेतु दो अलग-अलग function calls की आवश्यकता होती थी। अब इसे सरल बनाकर settings को String के रूप में return किया जाता है। मूल दो functions को deprecated कर दिया गया है।
रिटर्न
GW2GetFileTypeString function filetype ID का String representation return करता है।
A GlasswallException exception will be thrown if session is invalid, or if the file type could not be retrieved.
सारांश - अप्रचलित फ़ंक्शन
import com.glasswall.core2javabridge.*;
(Deprecated)
public int GW2GetFileType(int session, int fileId) throws GlasswallException
public byte[] GetFileTypeBuffer(int session) throws GlasswallException
विवरण - Deprecated Functions
The GW2GetFileType function outputs a representation of fileId for the session specified by session, to the internal FileType Buffer. Retrieve this data through use of the GetFileTypeBuffer function.
रिटर्न्स - अप्रचलित फ़ंक्शन
GW2GetFileType फ़ंक्शन GW2_RetStatus enumeration को int में परिवर्तित करके लौटाता है। यदि कोई त्रुटि हुई है, तो मान नकारात्मक होगा। 0 सफलता को दर्शाता है। विवरण के लिए API Overview/Return types देखें।
GetFileTypeBuffer फ़ंक्शन UTF-8 एन्कोडेड byte[] लौटाता है, जिसमें filetype ID का एक निरूपण होता है। यदि GW2GetFileType को कॉल नहीं किया गया है, तो यह null होगा।
A GlasswallException exception will be thrown if session is invalid, or if the file type could not be retrieved.
सारांश
इसके 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 होता है।
सारांश
यह फ़ंक्शन निर्दिष्ट fileID के विवरण के लिए एक pointer को निर्दिष्ट स्थान पर रखता है।
/**
*
* @param {number} session The ID of the session.
* @param {number} fileID The ID of the file type.
* @param {number} bufferLength The length of the buffer.
* @param {string} outputBuffer The location of the output buffer.
*/
GW2GetFileType(
session,
fileID,
bufferLength,
outputBuffer)
रिटर्न
एक integer GW2_RetStatus enum मान लौटाता है। ऋणात्मक संख्याएँ विफलता को दर्शाती हैं। सफल होने पर, output buffer file type के औपचारिक नाम से भर दिया जाता है।
उदाहरण
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.GW2GetFileType(session_id, 22, output_buffer_size, output_file_buffer);
let error_description = buffer_to_string(output_file_buffer, output_buffer_size);
...