Die Funktion DS_create_XX_handle() fordert Speicherplatz für die zu übertragenden Daten an. Für jeden Datentyp ist hier eine eigene Datenstruktur vorgesehen. Die Datenstruktur für 2D-Daten ist z.B.:
struct DIM_ARRAY_2D_DATA { unsigned long int data_type; /* Datentyp */ char name[16]; /* Name der Daten */ long int user_flag; /* Flag */ long int machine_id; /* Rechnernummer */ int x_dim; /* x Dimension */ int y_dim; /* y Dimension */ int x_start; /* Erste x Position */ int y_start; /* Erste y Position */ int x_end; /* Letzte x Position */ int y_end; /* Letzte y Position */ int major_order_1; /* X_DIM oder Y_DIM */ void * data_ptr; /* Daten */ };In der Datenstruktur stehen die Beschreibung der Daten sowie ein Zeiger auf die Daten. Aus der Beschreibung läßt sich später die Größe des Datenfeldes berechnen.