aio_cancel işlevi askıdaki bir ya da daha fazla isteği iptal etmek için kullanılabilir. aiocbp parametresi NULL ise dosyatanıtıcı ile ilgili askıdaki tüm işlemleri iptal etmeye çalışır. aiocbp parametresi NULL değilse, aiocbp ile gösterilen belli bir isteği iptal etmeye çalışır.
Başarıyla iptal edilen istekler için isteğin sonlanması ile ilgili normal uyarı yapılmalıdır. Bunu denetleyen struct sigevent nesnesine bağlı olarak hiçbir şey yapılmaz, bir sinyal gönderilir ya da evre başlatılır. İstek iptal edilemezse, işlem, gerçekleştikten sonra normal yolla sonlanır.
Bir istek başarıyla iptal edildikten sonra, bu istek için yapılan bir aio_error çağrısı ECANCELED ile, aio_return ise -1 ile döner. Eğer istek iptal edilmemişse ve hala işlenmekteyse hata durumu EINPROGRESS olur.
Sonlanmadan iptal edilmiş bir istek varsa, işlevin dönüş değeri AIO_CANCELED olur. İptal edilmemiş istek ya da istekler varsa, dömüş değeri AIO_NOTCANCELED olur. Bu durumda (aiocbp'nin NULL olarak belirtildiği durum) iptal edilemeyen istekleri bulmak için aio_error kullanılmalıdır. Tüm istekler iptal edilmişse aio_cancel işlevinin dönüş değeri AIO_ALLDONE olacaktır.
aio_cancel çağrısı sırasında bir hata oluşmuşsa işlev -1 ile döner ve errno değişkenine aşağıdaki durumlardan biri atanır:
- EBADF
dosyatanıtıcı tanıtıcısı geçersiz
- ENOSYS
aio_cancel desteklenmiyor
Kaynak dosyası _FILE_OFFSET_BITS == 64 ile derlenmişse 32 bitlik sistemlerde bu işlev aslında aio_cancel64 işlevine karşılıktır. Yani 32 bitlik arayüz 64 bitlik olanıyla değiştirilir.