I've gone through and compiled a list of all standard include UDF's (as of version 3.3.0.0) that are missing @error checks after DLLCall's, where either the return 'array' or a passed structure is accessed after. It's a big list, so I wish you the best of luck in getting this worked out. *ALSO another problem, many are using ANSI calls rather than Unicode (wide calls). I've marked down as much info regarding this as possible Note: Some additional details are added for certain functions. Most are only 1 DLL Call, some are more - I commented on some, but there may be more than one DLLCall on some I didn't comment on. _ClipBoard_Close _ClipBoard_CountFormats _ClipBoard_Empty _ClipBoard_EnumFormats _ClipBoard_GetDataEx _ClipBoard_GetFormatName: Additionally, the ANSI version is being called instead of the Unicode (wide) version _ClipBoard_GetOpenWindow _ClipBoard_GetOwner _ClipBoard_GetPriorityFormat _ClipBoard_GetSequenceNumber _ClipBoard_GetViewer _ClipBoard_IsFormatAvailable _ClipBoard_Open _ClipBoard_RegisterFormat _ClipBoard_SetDataEx _ClipBoard_SetViewer _SetDate: DLLCalls: GetLocalTime (if @error, the next 2 DLLCall's should be avoided), & GetLastError _SetTime: DLLCalls: GetLocalTime (if @error, the next 2 DLLCall's should be avoided), & GetLastError _Date_Time_CompareFileTime _Date_Time_DOSDateTimeToFileTime _Date_Time_FileTimeToDOSDateTime _Date_Time_FileTimeToLocalFileTime _Date_Time_FileTimeToSystemTime _Date_Time_GetFileTime _Date_Time_GetLocalTime _Date_Time_GetSystemTime _Date_Time_GetSystemTimeAdjustment _Date_Time_GetSystemTimeAsFileTime _Date_Time_GetSystemTimes _Date_Time_GetTickCount _Date_Time_GetTimeZoneInformation _Date_Time_LocalFileTimeToFileTime _Date_Time_SetFileTime _Date_Time_SetLocalTime: 2 unchecked calls to SetLocalTime _Date_Time_SetSystemTime _Date_Time_SetSystemTimeAdjustment _Date_Time_SetTimeZoneInformation _Date_Time_SystemTimeToFileTime _Date_Time_SystemTimeToTzSpecificLocalTime _Date_Time_TzSpecificLocalTimeToSystemTime NOTE on most of these functions: the ANSI version of the function is being called. These should be updated to Unicode (wide) calls. _EventLog__Backup _EventLog__Clear _EventLog__Close _EventLog__Count _EventLog__DeregisterSource _EventLog__Full: returns value in a DLLStruct that wouldn't be touched if there was a DLLCall error _EventLog__Notify _EventLog__Oldest: returns value in a DLLStruct that wouldn't be touched if there was a DLLCall error _EventLog__Open: _EventLog__OpenBackup _EventLog__Read: multiple unchecked ReadEventLogA calls _EventLog__RegisterSource _EventLog__Report _FilePrint: (should check for @error and Return 0 before other checks) _GDIPlus_DrawImagePoints _GDIPlus_GraphicsDrawImageRect _GUIImageList_Add _GUIImageList_AddMasked _GUIImageList_BeginDrag _GUIImageList_Copy _GUIImageList_Create _GUIImageList_Destroy _GUIImageList_DragEnter _GUIImageList_DragLeave _GUIImageList_DragMove _GUIImageList_DragShowNolock _GUIImageList_Draw _GUIImageList_DrawEx _GUIImageList_Duplicate _GUIImageList_GetBkColor _GUIImageList_GetIcon _GUIImageList_GetIconSizeEx _GUIImageList_GetImageCount _GUIImageList_GetImageInfoEx _GUIImageList_Merge _GUIImageList_Remove _GUIImageList_Replace _GUIImageList_ReplaceIcon _GUIImageList_SetBkColor _GUIImageList_SetDragCursorImage _GUIImageList_SetIconSize _GUIImageList_SetImageCount _GUIImageList_SetOverlayImage _GUIImageList_Swap _GUICtrlListView_Create _GUICtrlListView_Draw _GUICtrlListView_HitTest _GUICtrlListView_InsertMarkHitTest _GUICtrlMenu_AddMenuItem: actually, this looks like a coding error also, as it looks at the return as a non-array (and DLLCall doesn't explicitly say it returns anything for error situations) _GUICtrlMenu_AppendMenu _GUICtrlMenu_CheckMenuItem _GUICtrlMenu_CheckRadioItem _GUICtrlMenu_CreateMenu _GUICtrlMenu_CreatePopup _GUICtrlMenu_DeleteMenu _GUICtrlMenu_DestroyMenu _GUICtrlMenu_DrawMenuBar _GUICtrlMenu_EnableMenuItem _GUICtrlMenu_EndMenu _GUICtrlMenu_GetItemCount _GUICtrlMenu_GetItemInfo _GUICtrlMenu_GetItemRectEx _GUICtrlMenu_GetItemSubMenu _GUICtrlMenu_GetItemText _GUICtrlMenu_GetMenu _GUICtrlMenu_GetMenuBarInfo _GUICtrlMenu_GetMenuDefaultItem _GUICtrlMenu_GetMenuInfo _GUICtrlMenu_GetSystemMenu _GUICtrlMenu_InsertMenuItem _GUICtrlMenu_InsertMenuItemEx _GUICtrlMenu_IsMenu _GUICtrlMenu_LoadMenu _GUICtrlMenu_MenuItemFromPoint _GUICtrlMenu_RemoveMenu _GUICtrlMenu_SetItemBitmaps _GUICtrlMenu_SetItemInfo _GUICtrlMenu_SetMenu _GUICtrlMenu_SetMenuDefaultItem _GUICtrlMenu_SetMenuInfo _GUICtrlMenu_TrackPopupMenu _GUICtrlRebar_HitTest _GUIScrollBars_Init: 4 different DLL calls w/o error checks _GUICtrlStatusBar_Create _GUICtrlStatusBar_SetIcon _GUICtrlTreeView_GetImageListIconHandle _GUICtrlTreeView_SetIcon: multiple unchecked DLL calls __IEControlGetObjFromHWND _INetGetSource: only 1 call is unchecked: InternetReadFile _MemGlobalAlloc _MemGlobalFree _MemGlobalLock _MemGlobalSize _MemGlobalUnlock _MemMoveMemory: while it doesn't access an array or structure, it's supposed to modify memory pointed to by passed parameters, so an @error + False return would make sense if the DLLCall failed _MemVirtualAlloc _MemVirtualAllocEx _MemVirtualFree _MemVirtualFreeEx _ChooseColor _ChooseFont _ClipPutFile: actually only 1 call (GetLastError) is fudged up - it doesn't check for @error, and accesses the returned value as a non-array variable _MouseTrap _Singleton: CreateMutex (array accessed after next DLL Call),& GetLastError _MISC_GetDeviceCaps _MISC_ReleaseDC _NamedPipes_CallNamedPipe _NamedPipes_ConnectNamedPipe _NamedPipes_CreateNamedPipe _NamedPipes_CreatePipe _NamedPipes_DisconnectNamedPipe _NamedPipes_GetNamedPipeHandleState _NamedPipes_GetNamedPipeInfo _NamedPipes_PeekNamedPipe _NamedPipes_SetNamedPipeHandleState _NamedPipes_TransactNamedPipe _NamedPipes_WaitNamedPipe _Net_Share_APIBufferFree _Net_Share_ConnectionEnum _Net_Share_FileClose _Net_Share_FileEnum _Net_Share_FileGetInfo _Net_Share_SessionDel _Net_Share_SessionEnum _Net_Share_SessionGetInfo _Net_Share_ShareAdd _Net_Share_ShareCheck _Net_Share_ShareDel _Net_Share_ShareEnum _Net_Share_ShareGetInfo _Net_Share_ShareSetInfo _Net_Share_StatisticsGetSvr _Net_Share_StatisticsGetWrk _ProcessGetPriority _Security__AdjustTokenPrivileges _Security__GetLengthSid _Security__GetTokenInformation _Security__ImpersonateSelf _Security__IsValidSid _Security__LookupAccountName _Security__LookupAccountSid _Security__LookupPrivilegeValue _Security__OpenProcessToken _Security__OpenThreadToken _Security__SidToStringSid _Security__StringSidToSid: actually, this looks like a coding error also, as it looks at the return as a non-array (and DLLCall doesn't explicitly say it returns anything for error situations) _Timer_GetIdleTime _WinAPI_CloseHandle _WinAPI_CopyIcon _WinAPI_CreateBitmap _WinAPI_CreateCompatibleBitmap _WinAPI_CreateCompatibleDC _WinAPI_CreateWindowEx _WinAPI_DeleteDC _WinAPI_DestroyIcon _WinAPI_DrawIcon _WinAPI_DrawIconEx _WinAPI_ExpandEnvironmentStrings: also uses ANSI rather than Unicode (wide) variant _WinAPI_GetClientRect _WinAPI_GetCursorInfo _WinAPI_GetDC _WinAPI_GetDIBits _WinAPI_GetIconInfo _WinAPI_GetFileSizeEx _WinAPI_GetModuleHandle _WinAPI_GetObject _WinAPI_GetOverlappedResult _WinAPI_GetStdHandle _WinAPI_GetTextExtentPoint32 _WinAPI_LoadBitmap _WinAPI_LocalFree _WinAPI_MessageBeep _WinAPI_MulDiv _WinAPI_OpenProcess: a few unchecked ones _WinAPI_ReadFile _WinAPI_ReadProcessMemory _WinAPI_RegisterWindowMessage _WinAPI_SetEvent _WinAPI_SetHandleInformation _WinAPI_SetProcessAffinityMask _WinAPI_SetWindowPos _WinAPI_WaitForInputIdle _WinAPI_WaitForMultipleObjects _WinAPI_WaitForSingleObject _WinAPI_WriteConsole _WinAPI_WriteFile _WinAPI_WriteProcessMemory NOTE on most of these functions: the ANSI version of the function is being called. These should be updated to Unicode (wide) calls. _WinNet_AddConnection _WinNet_AddConnection2 _WinNet_AddConnection3 _WinNet_CancelConnection _WinNet_CancelConnection2 _WinNet_CloseEnum _WinNet_ConnectionDialog _WinNet_ConnectionDialog1 _WinNet_DisconnectDialog _WinNet_DisconnectDialog1 _WinNet_EnumResource _WinNet_GetConnection _WinNet_GetConnectionPerformance _WinNet_GetLastError _WinNet_GetNetworkInformation _WinNet_GetProviderName _WinNet_GetResourceInformation _WinNet_GetResourceParent _WinNet_GetUniversalName _WinNet_GetUser _WinNet_OpenEnum _WinNet_RestoreConnection _WinNet_UseConnection ----------------------------------------------------------- Additionally, the following DLL calls, which have proper @error handling, are using the ANSI call variants rather than Unicode (wide) DllCalls: ----------------------------------------------------------- __RandomStr _WinAPI_FormatMessage _WinAPI_LoadLibrary _WinAPI_LoadLibraryEx _WinAPI_PostMessage _WinAPI_SetDefaultPrinter