GW2GetFileType
ファイルタイプ ID は、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 GW2OpenSession によって返されるセッションの ID
fileId ファイルタイプ ID を表す整数
bufferLength outputBuffer が指すメモリのバイト単位のサイズが設定される出力パラメーターです。
outputBuffer 指定されたファイル ID に関連付けられたファイルタイプの正式名称が設定される文字列ポインターの出力パラメーターです。例: "BMP Image"。このポインターで使用されるメモリは、ユーザーが解放する必要は ありません。
戻り値
関数呼び出しが成功したかどうかを示す整数を返します。負の数は失敗を示します。リターンコードの説明については、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 値を返します。負の数は失敗を示します。成功した場合、出力バッファーにはファイルタイプの正式名称が設定されます。
例
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
注
この機能では以前、ファイルタイプデータを取得するために 2 つの別個の関数呼び出しが必要でした。現在は合理化され、設定を String として返すようになっています。元の 2 つの関数は非推奨になりました。
戻り値
GW2GetFileTypeString 関数は、ファイルタイプ ID の String 表現を返します。
GlasswallException 例外は、session が無効である場合、またはファイルタイプを取得できなかった場合にスローされます。
概要 - 非推奨関数
import com.glasswall.core2javabridge.*;
(Deprecated)
public int GW2GetFileType(int session, int fileId) throws GlasswallException
public byte[] GetFileTypeBuffer(int session) throws GlasswallException
説明 - 非推奨の関数
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 列挙型を int に変換して返します。エラーが発生した場合、値は負になります。0 は成功を示します。詳細については、API Overview/Return types を参照してください。
GetFileTypeBuffer 関数は、ファイルタイプ ID の表現を含む UTF-8 エンコード済みの byte[] を返します。GW2GetFileType が呼び出されていない場合、これは null になります。
GlasswallException 例外は、session が無効である場合、またはファイルタイプを取得できなかった場合にスローされます。
概要
識別子に基づいてファイルタイプに関する情報を取得します。
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 もしくは空文字列です。
概要
この関数は、指定された fileID の説明へのポインタを、指定された場所に格納します。
/**
*
* @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)
戻り値
整数の GW2_RetStatus enum 値を返します。負の数は失敗を示します。成功した場合、出力バッファにはファイルタイプの正式名称が格納されます。
例
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);
...