INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

C-String-Zeiger Format



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

26.12.2020, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 26.12.2020 20:40 von hansi9990.)
Beitrag #1

hansi9990 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 180
Registriert seit: Mar 2015

2019
2014
DE

96xxx
Deutschland
C-String-Zeiger Format
Hi

Zunächst mal wünsche ich euch allen ein schönes Weihnachtsfest. Angel

Nun zu meiner Frage, ich habe hier die dll des Modulherstellers Deditec importiert, hier gibt es eine Funktion die sich "DapiOpenModuleEx" nennt mit der man ein Modul mit Parameter öffnen kann.
Diese Parameter sind die IP Adresse, der Port und einTimeout.
Die Beschreibung zu dieser Funktion sieht so aus:

Zitat:Beschreibung:
Diese Funktion öffnet gezielt ein Modul mit Ethernet-Schnittstelle. Dabei
können die Parameter IP-Adresse, Portnummer und die Dauer des Timeouts
bestimmt werden.
Das Öffnen des Moduls geschieht dabei unabhängig von den im DELIB
Configuration Utility getroffenen Einstellungen.

Definition:
ULONG DapiOpenModuleEx(ULONG moduleID, ULONG nr, unsigned char* exbuffer, 0);

Parameter:
moduleID = Gibt das Modul an, welches geöffnet werden soll (siehe delib.h)
nr = Gibt an, welches (bei mehreren Modulen) geöffnet werden soll.
nr = 0 -> 1. Modul
nr = 1 -> 2. Modul
exbuffer = Buffer für IP-Adresse, Portnummer und Dauer des Timeouts

Return-Wert:
handle = Entsprechender Handle für das Modul
handle = 0 -> Modul wurde nicht gefunden

Bemerkung:
Der von dieser Funktion zurückgegebene Handle wird zur Identifikation des
Moduls für alle anderen Funktionen benötigt.
Dieser Befehl wird von allen Modulen mit Ethernet-Schnittstelle unterstützt.

Programmierbeispiel:
// Open ETH-Module with parameter
DAPI_OPENMODULEEX_STRUCT open_buffer;
strcpy((char*) open_buffer.address, "192.168.1.10");
open_buffer.portno = 0;
open_buffer.timeout = 5000;
handle = DapiOpenModuleEx(RO_ETH, 0, (unsigned char*) &open_buffer, 0);
printf("Module handle = %x\n", handle);

und das Struct ist im Headerfile so definiert:

Zitat:typedef struct
{
unsigned char address[256];
ULONG timeout;
ULONG portno;

ULONG encryption_type;
unsigned char encryption_password[32];
} DAPI_OPENMODULEEX_STRUCT;

#define DAPI_OPEN_MODULE_OPTION_USE_EXBUFFER (1<<0) // Bit 0
#define DAPI_OPEN_MODULE_OPTION_NO_RESCAN (1<<1) // Bit 1
#define DAPI_OPEN_MODULE_OPTION_CANOPENSTICK_NO_REGISTER_REROUTE (1<<2) // Bit 2

#define DAPI_OPEN_MODULE_ENCRYPTION_TYPE_NONE 0
#define DAPI_OPEN_MODULE_ENCRYPTION_TYPE_NORMAL 1
#define DAPI_OPEN_MODULE_ENCRYPTION_TYPE_ADMIN 2
#define DAPI_OPEN_MODULE_ENCRYPTION_TYPE_ADMIN_TEMP 3

Da jedoch der Eingang am Knoten als String (C-String-Zeiger) definiert ist (siehe Bild im Anhang), jeodch drei Parameter übergeben werden sollen und ich in Sachen C keine Erfahrung habe, frag ich mich wie die übergenenen Daten an dem String-Eingang aussehen müssten.
Kann mir hier jemand einenTipp geben, werden die eizelnen Parameter etwa mit Komma getrennt angegeben oder müssen hier irgendwelche Leeezeichen eingehalten werden?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
C-String-Zeiger Format - hansi9990 - 26.12.2020 13:50
RE: C-String-Zeiger Format - IchSelbst - 27.12.2020, 12:54
RE: C-String-Zeiger Format - hansi9990 - 27.12.2020, 15:04
RE: C-String-Zeiger Format - IchSelbst - 27.12.2020, 16:53
RE: C-String-Zeiger Format - hansi9990 - 27.12.2020, 17:23
RE: C-String-Zeiger Format - IchSelbst - 27.12.2020, 20:28
RE: C-String-Zeiger Format - rolfk - 02.01.2021, 16:36
RE: C-String-Zeiger Format - rolfk - 25.08.2023, 12:16
RE: C-String-Zeiger Format - hansi9990 - 27.12.2020, 16:55
RE: C-String-Zeiger Format - hansi9990 - 28.12.2020, 08:38
RE: C-String-Zeiger Format - Freddy - 04.01.2021, 08:28
RE: C-String-Zeiger Format - hansi9990 - 09.01.2021, 07:53
RE: C-String-Zeiger Format - hansi9990 - 09.01.2021, 10:51
RE: C-String-Zeiger Format - IchSelbst - 09.01.2021, 14:18
RE: C-String-Zeiger Format - hansi9990 - 09.01.2021, 14:42
RE: C-String-Zeiger Format - IchSelbst - 09.01.2021, 15:13
RE: C-String-Zeiger Format - hansi9990 - 09.01.2021, 17:49
RE: C-String-Zeiger Format - hansi9990 - 09.01.2021, 20:09

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Struktur mit Zeiger auf weitere Struktur an DLL übergeben Wheeliemaster 2 7.571 27.05.2015 08:40
Letzter Beitrag: Wheeliemaster
  DLL - Zeiger auf TParameter Struktur F-Trooper 1 4.873 03.03.2012 22:10
Letzter Beitrag: rolfk

Gehe zu: