Option Strict Off
Option Explicit On 
Imports System.Runtime.InteropServices

Module Module1
	
	
	Public Const FCSRAM_USER_START As Integer = &H0s ' [Ü̊JnAhX(݃GA)
	Public Const FCSRAM_USER_END As Integer = &H1FFFF ' [Ü̏IAhX
	Public Const FCSRAM_SYSTEM_START As Integer = &H20000 ' VXëJnAhX(݃GA)
	Public Const FCSRAM_SYSTEM_END As Integer = &H3FFFF ' VXëIAhX
	Public Const FCSRAM_FREE_START As Integer = &H40000 ' 󂫗̈JnAhX
	Public Const FCSRAM_FREE_END As Integer = &H7FDFF ' 󂫗̈IAhX
	Public Const FCSRAM_RECORD_SIZE As Integer = &H20s ' 1R[h̃f[^TCY
	
	
	' [U`^
	Structure FCRAS_STATUS
		Dim Status1 As Byte ' A[
		Dim Status2 As Byte ' WDT, 荞݃ClCu, P^C}
		Dim Status3 As Byte ' fW^o̓f[^
		Dim Status4 As Byte ' WDTZbgl (High)
		Dim Status5 As Byte ' WDTZbgl (Low)
		Dim Status6 As Byte ' fW^o̓f[^
	End Structure
	Structure FCRAS_STATUSX009
		Dim Status1 As Byte ' A[
		Dim Status2 As Byte ' WDT, 荞݃ClCu, P^C}
		Dim Status3 As Byte ' fW^o̓f[^
		Dim Status4 As Byte ' WDTZbgl (High)
		Dim Status5 As Byte ' WDTZbgl (Low)
		Dim Status6 As Byte ' fW^o̓f[^
		Dim Status7 As Byte ' xZTE~[O{[hA[̓j^
		Dim Status8 As Byte ' A[̓j^2
		Dim Status9 As Byte ' [A[j^
	End Structure
	
	
    ' RASc[CũI[v
    Declare Function fcsoftrasOpen Lib "FcSrasapiP.dll" Alias "fcsoftrasOpenP" () As Long

    ' RASc[CũN[Y
    Declare Function fcsoftrasClose Lib "FcSrasapiP.dll" Alias "fcsoftrasCloseP" () As Long

    ' [UAP Window̓o^
    Declare Function fcrasRegisterAlarmApWindow Lib "FcSrasapiP.dll" Alias "_fcrasRegisterAlarmApWindowP@4" (ByVal hWnd As Integer) As Integer
	
	' [UAP Window̓o^
    Declare Function fcrasUnregisterAlarmApWindow Lib "FcSrasapiP.dll" Alias "_fcrasUnregisterAlarmApWindowP@0" () As Integer
	
	' WDT̃ZbgX^[g
    Declare Function fcrasResetAndStartWDT Lib "FcSrasapiP.dll" Alias "_fcrasResetAndStartWDTP@4" (ByVal dwWdtTimerValue As Integer) As Integer
	
	' WDT̃Xgbv
    Declare Function fcrasStopWDT Lib "FcSrasapiP.dll" Alias "_fcrasStopWDTP@0" () As Integer
	
	' RAS{[h̃Xe[^X1`6̎擾
    Declare Function fcrasGetStatus Lib "FcSrasapiP.dll" Alias "_fcrasGetStatusP@4" (ByRef lpbyRasStatus As FCRAS_STATUS) As Integer
	
	' Digital Inf[^l̎擾
    Declare Function fcrasDigitalIn Lib "FcSrasapiP.dll" Alias "_fcrasDigitalInP@4" (ByRef byDigitalInData As Byte) As Integer
	
	' Digital Outf[^̏o
    Declare Function fcrasDigitalOut Lib "FcSrasapiP.dll" Alias "_fcrasDigitalOutP@4" (ByVal byDigitalOutData As Byte) As Integer
	
	' VZOf[^f[^̏o
    Declare Function fcras7SegmentOut Lib "FcSrasapiP.dll" Alias "_fcras7SegmentOutP@4" (ByVal by7SegmentData As Byte) As Integer
	
	' RAS{[h̑SXe[^X̎擾
    Declare Function fcrasGetStatusX009 Lib "FcSrasapiP.dll" Alias "_fcrasGetStatusX009P@4" (ByRef lpbyRasStatus As FCRAS_STATUSX009) As Integer
	
	' Ox~bgݒ
    Declare Function fcrasExtLimitOut Lib "FcSrasapiP.dll" Alias "_fcrasExtLimitOutP@4" (ByVal byExtLimitData As Byte) As Integer
	
	' x~bgݒ
    Declare Function fcrasIntLimitOut Lib "FcSrasapiP.dll" Alias "_fcrasIntLimitOutP@4" (ByVal byIntLimitData As Byte) As Integer
	
	' Ox~bg擾
    Declare Function fcrasGetExtLimit Lib "FcSrasapiP.dll" Alias "_fcrasGetExtLimitP@4" (ByRef byExtLimitData As Byte) As Integer
	
	' x~bg擾
    Declare Function fcrasGetIntLimit Lib "FcSrasapiP.dll" Alias "_fcrasGetIntLimitP@4" (ByRef byIntLimitData As Byte) As Integer
	
	' A[([Ü)̃Cg
    Declare Function fcrasSRAMWrite Lib "FcSrasapiP.dll" Alias "_fcrasSRAMWriteP@4" (ByRef lpByWriteData As Byte) As Integer
	' A[([Ü)̃[h
    Declare Function fcrasSRAMRead Lib "FcSrasapiP.dll" Alias "_fcrasSRAMReadP@12" (ByVal dwOffset As Integer, ByRef lpbyDate As Byte, ByRef lpbyReadData As Byte) As Integer
	
	'@[Ü̃Jg|C^ǂݏo
    Declare Function fcrasSRAMGetUserCurrent Lib "FcSrasapiP.dll" Alias "_fcrasSRAMGetUserCurrentP@4" (ByRef lpdwOffset As Integer) As Integer
	'@VXë̃Jg|C^ǂݏo
    Declare Function fcrasSRAMGetSystemCurrent Lib "FcSrasapiP.dll" Alias "_fcrasSRAMGetSystemCurrentP@4" (ByRef lpdwOffset As Integer) As Integer
	' A[(󂫗̈)̃Cg
    Declare Function fcrasSRAMReadPhy Lib "FcSrasapiP.dll" Alias "_fcrasSRAMReadPhyP@12" (ByVal Offset As Integer, ByRef SramData As Byte, ByVal Size As Integer) As Integer
	
	' A[(󂫗̈)̃[h
    Declare Function fcrasSRAMWritePhy Lib "FcSrasapiP.dll" Alias "_fcrasSRAMWritePhyP@12" (ByVal Offset As Integer, ByRef SramData As Byte, ByVal Size As Integer) As Integer
	' A[̏
    Declare Function fcrasSRAMInit Lib "FcSrasapiP.dll" Alias "_fcrasSRAMInitP@4" (ByVal wMode As Short) As Integer
End Module