Truxton file export where clause

From truxwiki.com
Revision as of 05:06, 2 December 2020 by Sam (talk | contribs) (→‎export_handle)
Jump to navigation Jump to search

This allows you to see the SQL WHERE that will be used to query the [File] table for files to export.

Syntax

void truxton_file_export_where_clause(uint64_t export_handle, char * destination_string, size_t max_size );

Parameters

export_handle

The handle to an export instance created by the truxton_file_export_create() call.

destination_string

The string to be written to.

max_size

The maximum number of characters that can be written to destination_string.

Sample

#include "TruxtonCAPI.h"
#pragma comment(lib, "TruxtonCAPI.lib")

#include "filetypes.h"
#include <stdlib.h>
#pragma hdrstop

int main()
{
    char temporary_string[256];

    truxton_start();

    uint64_t truxton = truxton_create();

    uint64_t export_handle = truxton_file_export_create(truxton);

    // We want a variety of file types
    sprintf_s(temporary_string, sizeof(temporary_string), "%d, %d, %d", Type_JPEGWithExif, Type_JPEG, Type_GIF);
    truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_TYPE, temp_string);

    // We only want files where the MD5 hash starts with "e4"
    truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_HASH, "e4");

    // We want a file that is at least 4MB long
    truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_SIZE_MINIMUM, "4194304");

    // We want a file that is no larger than 5MB
    truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_SIZE_MAXIMUM, "5242880");

    // Limit the output to a single file
    truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_LIMIT, "1");

    truxton_file_export_where_clause(export_handle, temporary_string, sizeof(temporary_string));
    printf( "Will use the following WHERE clause to select files: %s\n", temporary_string);

    // Rename the file being exported to include the hash before the original name
    truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_NAME_FORMAT, "{hash}_{name}");

    // The files should be output to a particular folder
    truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_FOLDER, "C:\\temp");

    // We want them output to a TAR file in that particular folder
    truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_TAR, "JPGWithExif.tar");

    // Go find the files and output them to C:\temp\JPGWithExif.tar
    truxton_file_export_execute(export_handle);

    // Clean up
    truxton_file_export_destroy(export_handle);
    truxton_destroy(truxton);
    truxton_stop();
}