Difference between revisions of "Truxton child file get parent id"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "Retrieves the id of the parent of this child file object. =Syntax= <syntaxhighlight lang="C"> void truxton_child_file_get_parent_id( uint64_t child_handle, char * destination...")
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Retrieves the id of the parent of this child file object.
 
Retrieves the id of the parent of this child file object.
 +
This corresponds to the <code>[ParentFileID]</code> column of the <code><nowiki>[</nowiki>[[File Table|File]]<nowiki>]</nowiki></code> table.
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
void truxton_child_file_get_parent_id( uint64_t child_handle, char * destination_string, size_t max_size );
 
void truxton_child_file_get_parent_id( uint64_t child_handle, char * destination_string, size_t max_size );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
 
==<code>child_handle</code>==
 
==<code>child_handle</code>==
 
 
The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call.
 
The handle created by the [[truxton_child_file_create]] or [[truxton_file_create_child]] call.
  
 
==<code>destination_string</code>==
 
==<code>destination_string</code>==
 
 
The string to be written to.
 
The string to be written to.
  
Line 18: Line 17:
 
The maximum number of characters that can be written to <code>destination_string</code>
 
The maximum number of characters that can be written to <code>destination_string</code>
  
<syntaxhighlight lang="C" highlight="35">
+
=Sample=
void add_folder(uint64_t truxton, uint64_t parent_file)
+
<source lang="C" highlight="28">
 +
void add_folder( uint64_t truxton, uint64_t parent_file )
 
{
 
{
   truxton_start_adding_files(truxton);
+
   truxton_start_adding_files( truxton );
  
   uint64_t child = truxton_child_file_create(truxton);
+
   uint64_t child = truxton_child_file_create( truxton );
  
 
   char id[40];
 
   char id[40];
  
   truxton_file_get_id(parent_file, id, sizeof(id));
+
   truxton_file_get_id( parent_file, id, sizeof(id) );
   truxton_child_file_set_parent_id(child, id);
+
   truxton_child_file_set_parent_id( child, id );
   truxton_child_file_set_type(child, Type_Directory);
+
   truxton_child_file_set_type( child, Type_Directory );
   truxton_child_file_set_name(child, "Custom Exploits Folder");
+
   truxton_child_file_set_name( child, "Custom Exploits Folder" );
 
 
  FILETIME now;
 
 
 
  GetSystemTimeAsFileTime(&now);
 
 
 
  ULARGE_INTEGER ticks;
 
  
   ticks.LowPart = now.dwLowDateTime;
+
   uint64_t now = truxton_time_now();
  ticks.HighPart = now.dwHighDateTime;
 
  
   truxton_child_file_set_created(child, ticks.QuadPart);
+
   truxton_child_file_set_created( child, now );
   truxton_child_file_set_accessed(child, ticks.QuadPart);
+
   truxton_child_file_set_accessed( child, now );
   truxton_child_file_set_modified(child, ticks.QuadPart);
+
   truxton_child_file_set_modified( child, now );
  
   truxton_child_file_set_origin(child, ORIGIN_GENERATED);
+
   truxton_child_file_set_origin( child, ORIGIN_GENERATED );
  
   if ( truxton_child_file_save(child) == 0 )
+
   if ( truxton_child_file_save( child ) == 0 )
 
   {
 
   {
 
       printf( "Failed to add child to Truxton\n" );
 
       printf( "Failed to add child to Truxton\n" );
Line 53: Line 46:
 
   else
 
   else
 
   {
 
   {
       truxton_child_file_get_parent_id(child_file, id, sizeof(id));
+
       truxton_child_file_get_parent_id( child_file, id, sizeof(id) );
 
       printf( "Parent id %s\n", id );
 
       printf( "Parent id %s\n", id );
 
   }
 
   }
  
   truxton_child_file_destroy(child);
+
   truxton_child_file_destroy( child );
 
}
 
}
</syntaxhighlight>
+
</source>

Latest revision as of 02:48, 14 April 2024

Retrieves the id of the parent of this child file object. This corresponds to the [ParentFileID] column of the [File] table.

Syntax

void truxton_child_file_get_parent_id( uint64_t child_handle, char * destination_string, size_t max_size );

Parameters

child_handle

The handle created by the truxton_child_file_create or truxton_file_create_child call.

destination_string

The string to be written to.

max_size

The maximum number of characters that can be written to destination_string

Sample

void add_folder( uint64_t truxton, uint64_t parent_file )
{
   truxton_start_adding_files( truxton );

   uint64_t child = truxton_child_file_create( truxton );

   char id[40];

   truxton_file_get_id( parent_file, id, sizeof(id) );
   truxton_child_file_set_parent_id( child, id );
   truxton_child_file_set_type( child, Type_Directory );
   truxton_child_file_set_name( child, "Custom Exploits Folder" );

   uint64_t now = truxton_time_now();

   truxton_child_file_set_created( child, now );
   truxton_child_file_set_accessed( child, now );
   truxton_child_file_set_modified( child, now );

   truxton_child_file_set_origin( child, ORIGIN_GENERATED );

   if ( truxton_child_file_save( child ) == 0 )
   {
      printf( "Failed to add child to Truxton\n" );
   }
   else
   {
      truxton_child_file_get_parent_id( child_file, id, sizeof(id) );
      printf( "Parent id %s\n", id );
   }

   truxton_child_file_destroy( child );
}