StarBurn SDK (Software Development Kit) |
__stdcall STARBURN_IMPEX_API EXCEPTION_NUMBER StarBurn_ISO9660JolietFileTree_GetFileSizeInUCHARs(IN PVOID p__PVOID__ISO9660JolietFileTree, IN PVOID p__PVOID__ISO9660JolietFileTreeNode, OUT PLARGE_INTEGER p__PLARGE_INTEGER__FileSizeInUCHARs);
Parameters | Description |
IN PVOID p__PVOID__ISO9660JolietFileTree | Pointer to the ISO9660 or Joliet file tree object that toolkit allocated during call to StarBurn_ISO9660JolietFileTree_Create(). |
IN PVOID p__PVOID__ISO9660JolietFileTreeNode | Pointer to the ISO9660 or Joliet file tree node object that is either result of previous tree node kids enumeration with StarBurn_ISO9660JolietFileTree_GetFirstKid() and StarBurn_ISO9660JolietFileTree_GetNextKid() or the result of call to StarBurn_ISO9660JolietFileTree_GetRoot(). The function is valid only for nodes that correspond to files. |
OUT PLARGE_INTEGER p__PLARGE_INTEGER__FileSizeInUCHARs | Pointer to the variable to receive ISO9660 or Joliet file tree node file size in UCHARs. |
Execution status.
This function returns ISO9660 or Joliet file tree file size in UCHARs.
This call is identical to the StarBurn_ISO9660JolietFileTree_GetNodePowerInUCHARs(...) except it has a bit different semantics.
This example allocates Joliet file tree, get root node, gets file size in UCHARs and destroys it (tree) after it's not needed any more.
// Somewhere in the data region PVOID l__PVOID__FileTree; EXCEPTION_NUMBER l__EXCEPTION_NUMBER; ULONG l__ULONG__TreeNodes; ULONG l__ULONG__SystemError; CHAR l__CHAR__ExceptionText[ 1024 ]; PVOID l__PVOID__RootNode; LARGE_INTEGER l__LARGE_INTEGER__FileSizeInUCHARs; // Prepare exception text buffer RtlZeroMemory( &l__CHAR__ExceptionText, sizeof( l__CHAR__ExceptionText ) ); // Try to create Joliet file tree l__EXCEPTION_NUMBER = StarBurn_ISO9660JolietFileTree_Create( &l__PVOID__FileTree, ( PCHAR )( &l__CHAR__ExceptionText ), sizeof( l__CHAR__ExceptionText ), &l__ULONG__Status, ( PCALLBACK )( StarBurn_Callback ), ( PVOID )( &l__LONG__TreeNodes ), TRUE, FALSE, FILE_TREE_JOLIET ); // Check for correct reply if ( l__EXCEPTION_NUMBER != EN_SUCCESS ) { // Handle error here... } // Add directories or files with the help of the StarBurn_ISO9660JolietFileTree_Add here... // Get root node here l__PVOID__RootNode = StarBurn_ISO9660JolietFileTree_GetRoot( l__PVOID__FileTree ); // Check for correct response if ( l__PVOID__RootNode == NULL ) { // Handle error here... } // Get file size in UCHARs here l__EXCEPTION_NUMBER = StarBurn_ISO9660JolietFileTree_GetFileSizeInUCHARs( l__PVOID__FileTree, l__PVOID__RootNode, &l__LARGE_INTEGER__FileSizeInUCHARs ); // Do something with Joliet file tree root node here... // Destroy the Joliet file tree StarBurn_Destroy( &l__PVOID__FileTree ); // Just check for pointer (paranoid?) if ( l__PVOID__FileTree != NULL ) { // Handle error here... }