For this type of error, Microsoft suggests that you contact the supplier of the running application. While not that useful, this suggestion indicates that in most cases, this is a bug in the application that generates it rather than a faulty configuration. Sometimes, workarounds are possible (see M187770 for an example).
Overlapped I/O is a programming concept where an application or a device driver performs several input/output operations (like read/write files or communicating with a device) in the same time in order to increase its efficiency and use the system hardware properly. Instead of waiting for the hardware to respond to its request, the application may be able to perform other useful tasks that do not depend on the response of the I/O request. The I/O operation is performed in this case asynchronously. That is, you send a request and don't exactly wait for the answer at that moment - instead, when the answer comes, you get notified. This concept is paramount to a highly performant, scalable application (like Exchange for example).
Now, let's say your application sends a read file call to the hard drive device. If the request returns an error and that error message is ERROR_IO_PENDING than it means that the request is performed asynchronously and that the operation is not finished yet. This error message is the symbolic name for the Error code 997.
Symbolic name: ERROR_IO_PENDING
Build a great reporting interface using Splunk, one of the leaders in the Security Information and Event Management (SIEM) field, linking the collected Windows events to www.eventid.net.
Obtain enhanced visibility into Cisco ASA firewall logs using the free Firegen for Cisco ASA Splunk App. Take advantage of dashboards built to optimize the threat analysis process.