APCI-3600
Gemeinschaftsspeicher
Wenn Sie den PCI3600_SYNCHRONOUS_MODE gewählt haben, haben Sie
keinen Zugriff auf die globalen Variablen. Aber Sie haben die Möglichkeit, einen
Gemeinschaftsspeicher (ppv_UserSharedMemory) einzurichten. Der Benutzer-
Gemeinschaftsspeicher kann alle vordefinierten Compiler-Typen oder Benutzer-
Definetypen enthalten.
Die Variable dw_UserSharedMemorySize gibt die Größe in Bytes des
ausgewählten Benutzertyps an. Ein Zeiger der Variablen ppv_UserSharedMemory
wird der Benutzer-Interruptroutine mit der Variablen pv_UserSharedMemory
zugeteilt. Dies ist bei Visual Basic nicht möglich.
Die Benutzer-Interruptroutine muss folgende Syntax aufweisen:
VOID v_FunctionName
pdw_ComputerRAMAddressApplicLeve)
v_FunctionName
dw_BoardHandle
b_UserCallingMode
Tabelle 9-4: Asynchroner Mode
VORTEILE
GRENZEN
(DWORD
BYTE
VOID *
DWORD
DWORD
DWORD
PDWORD
pdw_ComputerRAMAddressKernelLevel,
PDWORD
Name der Benutzer-Interruptroutine
Handle der APCI-3600, die den Interrupt generiert
hat.
PCI3600_SYNCHRONOUS_MODE:
Die Benutzer-Routine wird direkt von der
Interupt-Routine des Treibers aufgerufen
Der Benutzer kann die Benutzer-
Interruptroutine debuggen,
vorausgesetzt, dass er nicht in Visual
Basic 5 programmiert hat
Die Benutzer-Routine kann Windows
API-Funktionen aufrufen.
Die Benutzer-Routine kann Funktionen
aufrufen, die Zugriff auf globale
Variablen geben.
Die Benutzer-Routine kann alle
APCI-3600 Treiberfunktionen mit der
folgenden Endung aufrufen:
"i_PCI3600_XXXX"
Der Code der Benutzer-Interruptroutine
wird von der Interruptthreadroutine des
Treibers aufgerufen (Ring 3). Die Zeit
zwischen dem Interrupt und der
Benutzer-Interruptroutine erhöht sich.
dw_BoardHandle,
b_UserCallingMode,
pv_UserSharedMemory,
dw_InterruptSource,
dw_InterruptMask,
dw_NbrOfComputerBuffer,
Software