Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applications implement this callback if they call the StartThreadpoolIo function to start a worker thread for the I/O completion object.
The PTP_WIN32_IO_CALLBACK type defines a pointer to this callback function. IoCompletionCallback is a placeholder for the application-defined function name.
Syntax
VOID CALLBACK IoCompletionCallback(
_Inout_ PTP_CALLBACK_INSTANCE Instance,
_Inout_opt_ PVOID Context,
_Inout_opt_ PVOID Overlapped,
_In_ ULONG IoResult,
_In_ ULONG_PTR NumberOfBytesTransferred,
_Inout_ PTP_IO Io
);
Parameters
Instance [in, out]
A TP_CALLBACK_INSTANCE structure that defines the callback instance. Applications do not modify the members of this structure.This structure can be passed to one of the following functions:
Context [in, out, optional]
The application-defined data.Overlapped [in, out, optional]
A pointer to a variable that receives the address of the OVERLAPPED structure that was specified when the completed I/O operation was started.IoResult [in]
The result of the I/O operation. If the I/O is successful, this parameter is NO_ERROR. Otherwise, this parameter is one of the system error codes.NumberOfBytesTransferred [in]
The number of bytes transferred during the I/O operation that has completed.Io [in, out]
A TP_IO structure that defines the I/O completion object that generated the callback.
Return value
This function does not return a value.
Remarks
If the file handle bound to the I/O completion object has the notification mode FILE_SKIP_COMPLETION_PORT_ON_SUCCESS and an asynchronous I/O operation returns immediately with success, the I/O completion callback function is not called and threadpool I/O notifications must be canceled. For more information, see CancelThreadpoolIo.
To compile an application that uses this function, define _WIN32_WINNT as 0x0600 or higher.
Requirements
Minimum supported client |
Windows Vista [desktop apps | UWP apps] |
Minimum supported server |
Windows Server 2008 [desktop apps | UWP apps] |
Header |
WinBase.h on Windows Vista, Windows 7, Windows Server 2008 and Windows Server 2008 R2 (include Windows.h); Threadpoolapiset.h on Windows 8 and Windows Server 2012 |