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 GW2OpenSession によって返されるセッションの ID
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 列挙値を返します。負の数は失敗を示します。成功した場合、出力バッファーにはファイルタイプ 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 ではサポートされていません
概要
識別子に基づいてファイルタイプに関する情報を取得します。
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' に応じて整数または文字列を返します。この値は、認識されたファイルタイプの整数値、認識されたファイルタイプの詳細な文字列説明、または入力 'file_type' が認識されなかった場合は 0 もしくは空文字列です。
概要
この関数は、指定された 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 列挙値を返します。負の数は失敗を示します。成功した場合、出力バッファーにはファイルタイプ 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);
...