API Monitor is a software that monitors and displays API calls made by applications. Its a powerful tool for seeing how Windows and other applications work or tracking down problems that you have in your own applications. The current version include Filters to monitor the following API Categories. A complete list of API categories and API's is available here. For a complete list of changes in the current version, please refer to the Version History.
| API Category | Sample API's |
|---|---|
| Registry | RegCreateKeyExW, RegConnectRegistryA, RegGetKeySecurity, RegOverridePredefKey, GetPrivateProfileIntA, WriteProfileStringW |
| File I/O | CreateFileW, FindFirstFileA, GetDriveTypeW, SetFileApisToOEM, SetVolumeLabelW, _lopen, ReadFileEx, GetLongPathNameA |
| Dynamic-Link Libraries | GetModuleFileNameA, GetModuleHandleW, GetProcAddress, LoadLibraryExA, LoadModule |
| Network Management | NetGetDCName, NetMessageBufferSend, NetReplImportDirLock, NetShareAdd, WNetAddConnection2A, WNetEnumResourceW |
| NT Services | CreateServiceA, EnumServicesStatusW, SetServiceStatus, StartServiceCtrlDispatcherW, OpenSCManagerA |
| Device Input and Output | DeviceIoControl |
| Processes and Threads | CreateProcessA, ExitProcess, SetThreadPriorityBoost, SetEnvironmentVariableA, ExitThread, CreateProcessAsUserW, WinExec |
| NT Native API | NtQuerySecurityObject, NtRaiseHardError, NtSecureConnectPort, NtW32Call, NtUnloadDriver, NtWriteVirtualMemory, CsrClientCallServer, CsrNewThread, LdrFindResource_U, LdrShutdownProcess, RtlAddAce, RtlApplyRXact, RtlCreateHeap, DbgPrint, KiRaiseUserExceptionDispatcher, SaveEm87Context, PfxRemovePrefix |
| NT Security API | LookupPrivilegeValueA, LookupAccountNameW, RevertToSelf, SetNamedSecurityInfoW, AdjustTokenPrivileges, EqualSid |
| Windows Sockets | accept, bind, connect, htons, listen, WSAIsBlocking, gethostname, WSACancelAsyncRequest, WSCEnumProtocols |
| Debugging | ContinueDebugEvent, FlushInstructionCache, SetThreadContext, WriteProcessMemory, OutputDebugStringA |
| Handles and Objects | CloseHandle, DuplicateHandle, GetHandleInformation |
| Windows | CreateWindowExW, GetGUIThreadInfo, GetWindowTextLengthA, EnumThreadWindows, IsWindowUnicode, LockSetForegroundWindow |
| Dialog Boxes | CreateDialogIndirectParamA, GetDlgItemTextW, MessageBoxIndirectA, GetDlgCtrlID, GetDialogBaseUnits |
| Memory Management | IsBadCodePtr, GlobalSize, VirtualAllocEx, GlobalUnWire, LocalCompact, HeapReAlloc |
| Window Classes | GetClassLongPtrA, SetWindowLongPtrA, SetClassWord, GetClassInfoW |
| Information | Description |
|---|---|
| Process ID | A process identifier uniquely identifies the process throughout the system. The Process ID is valid until the process terminates. |
| Process Name | Name of the process that made the API call |
| API Called | API that was called |
| Parameters | This includes a complete list of parameters that were passed
to the API The parameter list now includes the name of the parameter. |
| Return Value | The return value of the API |
| Status | Status is used to indicate whether the API call passed or failed |
| GetLastError Code | If the Status of the API is FAILED, then this is the value of the calling thread's last-error code value |
Windows 95/98/NT/2000/ME/XP/2003 (.NET Server)
Since API Monitor is a User-Mode application, it can only monitor API's called by User-Mode applications. API's called by drivers will not be monitored. NT Services cannot be monitored using this version of API monitor