DDF are files, describing the datafiles. The records in the Btrieve (Pervasive) datafiles (with extension mkd, btr,...) are in fact collections of bytes. Without a description of the record, you will not know where each field starts and stops neither know what format it is. e.g. If you have a date-field and you don't know that the field has a date-type, and you read it out as a string, the value you retrieves make no sense at all. To describe a database with tables and the fields in the tables, you create a data dictionary file (DDF). Once you have a DDF file you can access it through ODBC.
For native access via VB.NET you can use the .NET class generator for btrieve API interface or the btrieve classes for .NET(downloadable from the component zone).