Hi All,
ich kniffel hier mit einem Treiber rum, der mir nur ein paar Werte von einer I/O Karte ausgeben soll. Mein Problem ist der Umgang mit STRUCT und ZEIGERN, beides habe ich unter C# noch nie verwendet, finde aber auch nichts sinnvolles in meinen Büchern oder Online.
Vielleicht kann mir hier einer sagen wie ich das hinbekomme.
Fehler sind im Quellcode farbig markiert. Fehlermeldungen stehen unter dem Quellcode.
Danke & Salü
D12
ich kniffel hier mit einem Treiber rum, der mir nur ein paar Werte von einer I/O Karte ausgeben soll. Mein Problem ist der Umgang mit STRUCT und ZEIGERN, beides habe ich unter C# noch nie verwendet, finde aber auch nichts sinnvolles in meinen Büchern oder Online.
Vielleicht kann mir hier einer sagen wie ich das hinbekomme.
Fehler sind im Quellcode farbig markiert. Fehlermeldungen stehen unter dem Quellcode.
Danke & Salü
D12
Code:
using System;
using System.Runtime.InteropServices;
namespace EBRU_API_IMPORT
{
public struct PCIDIOALLCHANNELS
{
public uint Basis;
public uint Extension;
}
class API_import
{
//*** importierte Funktion aus der WIN API von EBRU
[DllImport("PCIDIO.DLL")]//*** lesen der I/O-Karte
public static extern bool pcidioDIGetState(
Byte BoardNumber, PCIDIOALLCHANNELS* ChannelState);
static void Main(string[] args)
{
unsafe
{
PCIDIOALLCHANNELS* x;
(*x).Basis = 0;
(*x).Extension = 0;
pcidioDIGetState(0, x);
}
}
}
}
Fehler1:
error CS0214: Zeiger können nur in einem nicht sicheren Kontext verwendet werden
Fehler2:
error CS0165: Verwendung von möglicherweise nicht zugewiesenen lokalen Variablen 'x'
Zuletzt bearbeitet: