This project is read-only.

Extended Attributes: CGMS and Protection System

Apr 1, 2011 at 6:15 AM

Using the ECMA Technical Report TR/71 "DVD Read-Only Disc File System Specifications" I am trying to view the contents of the "CGMS Information" field and the "Protection System information" fields.  When I open the File system with the VB.Net calling the DiscUtil.dll:

Imports System.IO

Module Imager

    Public Function UDFOpen(ByVal ImageFileName As String) As Boolean

        Dim fstream As FileStream
        Dim dirPath As String
        Dim dirListing() As String
        Dim fileListing() As String
        Dim FileName As String
        Dim DirName As String

        fstream = New FileStream(ImageFileName, FileMode.Open, FileAccess.Read)

        Call MessageHandler("UDFOpen() Starting UDF Analysis... " & ImageFileName, 3)

        Dim obj As New DiscUtils.Udf.UdfReader(fstream)
        Dim finfo As DiscUtils.DiscFileInfo
        Dim FileAttrib As System.IO.FileAttributes

        dirPath = "\"
        dirListing = obj.GetDirectories(dirPath)

        For Each DirName In dirListing
            Call MessageHandler("Directory Name= " & DirName, 3)
            fileListing = obj.GetFiles(dirPath & DirName)
            For Each FileName In fileListing
                Call MessageHandler("     File Name= " & FileName, 3)
                finfo = obj.GetFileInfo(FileName)
                FileAttrib = obj.GetAttributes(FileName)



    End Function
End Module

I see when I run across a File the routine will drill down and call 
the "ReadFrom(xxx) in FileEntry.cs line 57" and read the ExtendedAttributes of the file
and you can see the data bytes being placed in the "Public Byte[] ExtendedAttributes" variable.  
How can I get this data to the VB.Net application that calls the GetAttributes so I can determine 
the type of copy protection on the disc?  I dont use C++ and has been 15 years since "C" so this is 
rather foreign to me right now.  Any help would be greatfull and/or if someone can suggest another forum 
that might be better to pose this question to I would appreciate it.
Apr 2, 2011 at 10:27 AM


At the moment, DiscUtils doesn't do anything to interpret the ExtendedAttributes field at all.  Ultimately, DiscUtils should probably parse this field and expose the different extended attributes in some kind of structured way.

I'll create a work item for this.



Apr 2, 2011 at 10:27 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.