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.
Removes an entry from an I/O completion object. If there are currently no entries available, then the calling thread waits for an entry.
Syntax
NTSTATUS NtRemoveIoCompletion (
__in HANDLE IoCompletionHandle,
__out PVOID *KeyContext,
__out PVOID *ApcContext,
__out PIO_STATUS_BLOCK IoStatusBlock,
__in_opt PLARGE_INTEGER Timeout
)
Parameters
IoCompletionHandle [in]
A handle to an I/O completion object.
KeyContext [out]
A pointer to a variable that receives the key context that was specified when the I/O completion object was associated with a file object.
ApcContext [out]
A pointer to a variable that receives the context that was specified when the I/O operation was issued.
IoStatusBlock [out]
A pointer to a variable that receives the I/O completion status.
Timeout [in, optional]
A pointer to an optional time out value.
Return value
An NTSTATUS code. For more information, see Using NTSTATUS values.
Remarks
IO_STATUS_BLOCK has the following definition.
typedef struct _IO_STATUS_BLOCK {
union {
NTSTATUS Status;
PVOID Pointer;
} DUMMYUNIONNAME;
ULONG_PTR Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
This function has no associated import library or header file; you must call it using the LoadLibrary and GetProcAddress functions. The API is exported from ntdll.dll.
Requirements
| Requirement | Value |
|---|---|
| DLL | ntdll.dll |