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
참고
이 기능은 이전에는 파일 형식 데이터를 가져오기 위해 두 번의 별도 함수 호출이 필요했습니다. 이제는 설정을 String으로 반환하도록 간소화되었습니다. 원래의 두 함수는 deprecated되었습니다.
반환값
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);
...