StarBurn SDK (Software Development Kit)
ContentsIndexHome
PreviousUpNext
StarBurn_ISO9660JolietFileTree_GetLevel Function
C++
__stdcall STARBURN_IMPEX_API LONG StarBurn_ISO9660JolietFileTree_GetLevel(IN PVOID p__PVOID__ISO9660JolietFileTree);
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(). 

Tree level. This function cannot fail.

This function returns ISO9660 or Joliet file tree level. The number of levels in the created tree.

The number of levels ISO9660 or Joliet can handle is limited to 8. Any values that exceed 8 is under your own risk.

This example allocates Joliet file tree, checks tree level 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 ];
LONG l__LONG__TreeLevel;

// 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 tree level here
l__LONG__TreeLevel =
StarBurn_ISO9660JolietFileTree_GetLevel( l__PVOID__FileTree );

// Check for tree level here
if ( l__LONG__TreeLevel > 8 )
{
// Handle error here...
}

// Do something with Joliet file tree here...

// Destroy the Joliet file tree
StarBurn_Destroy( &l__PVOID__FileTree );

// Just check for pointer (paranoid?)
if ( l__PVOID__FileTree != NULL )
{
// Handle error here...
}