Index: /Include/Classes/ActiveBasic/Windows/CriticalSection.ab
===================================================================
--- /Include/Classes/ActiveBasic/Windows/CriticalSection.ab	(revision 287)
+++ /Include/Classes/ActiveBasic/Windows/CriticalSection.ab	(revision 288)
@@ -53,5 +53,5 @@
 
 	/*Override*/ Sub Dispose()
-		Dim p = InterlockedExchangeAnyPointer(pcs, 0)
+		Dim p = Detail.InterlockedExchangeAnyPointer(pcs, 0)
 		If p <> 0 Then
 			LeaveCriticalSection(ByVal p)
Index: /Include/Classes/System/IO/DriveInfo.ab
===================================================================
--- /Include/Classes/System/IO/DriveInfo.ab	(revision 287)
+++ /Include/Classes/System/IO/DriveInfo.ab	(revision 288)
@@ -41,5 +41,6 @@
 		Dim systemName[15] As TCHAR
 		If GetVolumeInformation(m_DriveName, NULL, 0, NULL, NULL, NULL, systemName, Len (systemName)) Then
-			Return systemName
+			Dim resultStr = New String( systemName )
+			Return resultStr
 		Else
 			'IOException
@@ -85,7 +86,8 @@
 
 	Function VolumeLabel() As String
-		Dim volumeName[63] As TCAHR
-		If GetVolumeInformation(m_DriveName, volumeName, 64, NULL, NULL, NULL, NULL, NULL) Then
-			Return volumeName
+		Dim volumeName[63] As TCHAR
+		If GetVolumeInformation(m_DriveName, volumeName, 64, NULL, NULL, NULL, NULL, 0) Then
+			Dim resultStr = New String( volumeName )
+			Return resultStr
 		Else
 			'IOException
Index: /Include/Classes/System/Text/StringBuilder.ab
===================================================================
--- /Include/Classes/System/Text/StringBuilder.ab	(revision 287)
+++ /Include/Classes/System/Text/StringBuilder.ab	(revision 288)
@@ -308,5 +308,8 @@
 		EnsureCapacity(newSize)
 		separateBuffer()
-		ActiveBasic.Strings.ChrMove(VarPtr(chars[i + lenTotal]), VarPtr(chars[i]), (size - index) As SIZE_T)
+
+		' TODO: fix me!（定義されていない変数iが使われています）
+		'ActiveBasic.Strings.ChrMove(VarPtr(chars[i + lenTotal]), VarPtr(chars[i]), (size - index) As SIZE_T)
+
 		Dim i As Long
 		For i = 0 To ELM(n)
Index: /Include/basic/command.sbp
===================================================================
--- /Include/basic/command.sbp	(revision 287)
+++ /Include/basic/command.sbp	(revision 288)
@@ -408,5 +408,6 @@
 	_System_GetUsingFormat = buffer.ToString(0, lstrlen(StrBPtr(buffer)))
 End Function
-*/
+
+' TODO: _System_GetUsingFormatを用意して実装する
 Sub PRINTUSING_ToFile(FileNumber As Long, UsingStr As String)
 	Dim dwAccessByte As DWord
@@ -418,4 +419,5 @@
 	WriteFile(_System_hFile(FileNumber),buf,Len(buf),VarPtr(dwAccessByte),ByVal NULL)
 End Sub
+*/
 
 Dim _System_FieldSize(255) As Long
Index: /Include/basic/dos_console.sbp
===================================================================
--- /Include/basic/dos_console.sbp	(revision 287)
+++ /Include/basic/dos_console.sbp	(revision 288)
@@ -71,9 +71,9 @@
 #endif
 End Sub
-
+/* TODO: _System_GetUsingFormatを用意して実装する
 Sub PRINTUSING_ToPrompt(UsingStr As String)
 	PRINT_ToPrompt(_System_GetUsingFormat(UsingStr))
 End Sub
-
+*/
 
 #endif '_INC_DOS_CONSOLE
Index: /Include/basic/prompt.sbp
===================================================================
--- /Include/basic/prompt.sbp	(revision 287)
+++ /Include/basic/prompt.sbp	(revision 288)
@@ -896,7 +896,9 @@
 End Sub
 
+/* TODO: _System_GetUsingFormatを用意して実装する
 Sub PRINTUSING_ToPrompt(UsingStr As String)
 	ActiveBasic.Prompt.Detail.PRINT_ToPrompt(_System_GetUsingFormat(UsingStr))
 End Sub
+*/
 
 Macro LOCATE(x As Long, y As Long)
Index: /Include/system/built_in.ab
===================================================================
--- /Include/system/built_in.ab	(revision 288)
+++ /Include/system/built_in.ab	(revision 288)
@@ -0,0 +1,22 @@
+
+#ifndef _WIN64
+Sub _allrem()
+End Sub
+Sub _aullrem()
+End Sub
+Sub _allmul()
+End Sub
+Sub _alldiv()
+End Sub
+Sub _aulldiv()
+End Sub
+Sub _allshl()
+End Sub
+Sub _allshr()
+End Sub
+Sub _aullshr()
+End Sub
+#endif
+
+Sub _System_InitStaticLocalVariables()
+End Sub
Index: /Include/system/enum.sbp
===================================================================
--- /Include/system/enum.sbp	(revision 287)
+++ /Include/system/enum.sbp	(revision 288)
@@ -40,5 +40,5 @@
 		End If
 	End Function
-
+/*
 	Function Operator or (enumBase As EnumBase) As EnumBase
 		Return New EnumBase(This.value Or enumBase.value)
@@ -52,3 +52,4 @@
 		Return New EnumBase(This.value Xor enumBase.value)
 	End Function
+*/
 End Class
Index: /Include/system/interface.ab
===================================================================
--- /Include/system/interface.ab	(revision 288)
+++ /Include/system/interface.ab	(revision 288)
@@ -0,0 +1,10 @@
+Type InterfaceStructure
+	thisPtr As VoidPtr
+	vtblPtr As VoidPtr
+End Type
+
+Function CastToInterface( obj As Object, typeOfInterface As System.TypeInfo ) As InterfaceStructure
+	Dim interfaceStructure As InterfaceStructure
+	interfaceStructure.thisPtr = ObjPtr( obj )
+	interfaceStructure.vtblPtr = obj.GetVtbl( typeOfInterface )
+End Function
