İşlev davranışına açıklama ekleme
İşlev parametrelerine ve dönüş değerlerine açıklama eklemeye ek olarak, işlevin tamamının özelliklerine açıklama ekleyebilirsiniz.
İşlev ek açıklamaları
Aşağıdaki ek açıklamalar işleve bir bütün olarak uygulanır ve nasıl davrandığını veya nelerin doğru olmasını beklediğini açıklar.
Ek Açıklama | Tanım |
---|---|
_Called_from_function_class_(name) |
Tek başına kalmak için tasarlanmamıştır; bunun yerine, ek açıklama ile _When_ kullanılacak bir koşuldur. Daha fazla bilgi için bkz . Ek Açıklamanın Ne Zaman ve Nerede Uygulanacağını Belirtme.name parametresi, bazı işlevlerin bildiriminde bir ek açıklama içinde de görünen rastgele bir _Function_class_ dizedir. _Called_from_function_class_ şu anda analiz edilen işlev aynı değerine name sahip olan kullanılarak _Function_class_ ek açıklama eklendiğinde sıfır olmayan değerini döndürür; aksi takdirde sıfır döndürür. |
_Check_return_ |
Bir dönüş değerine ek açıklama ekler ve çağıranın bunu incelemesi gerektiğini belirtir. İşlev geçersiz bir bağlamda çağrılırsa denetleyici bir hata bildirir. |
_Function_class_(name) |
name parametresi, kullanıcı tarafından belirlenen rastgele bir dizedir. Diğer ad alanından ayrı bir ad alanında bulunur. bir işlev, işlev işaretçisi veya en yararlı olan işlev işaretçisi türü bir veya daha fazla işlev sınıfına ait olarak belirlenebilir. |
_Raises_SEH_exception_ |
ve _On_failure_ koşullarına tabi olarak her zaman yapılandırılmış bir özel durum işleyicisi (SEH) özel durumu oluşturan bir işleve _When_ ek açıklama ekler. Daha fazla bilgi için bkz . Ek Açıklamanın Ne Zaman ve Nerede Uygulanacağını Belirtme. |
_Maybe_raises_SEH_exception_ |
ve koşullarına tabi olarak isteğe bağlı olarak bir SEH özel durumu oluşturabilecek bir işleve _When_ _On_failure_ açıklama ekler. |
_Must_inspect_result_ |
Dönüş değeri, parametreler ve genel değerler de dahil olmak üzere tüm çıkış değerlerine ek açıklama ekler. Ek açıklamalı nesnedeki değer daha sonra incelenmezse çözümleyici bir hata bildirir. "Denetleme", koşullu ifadede kullanılıp kullanılmadığını, bir çıkış parametresine mi yoksa genel bir parametreye mi atandığını veya parametre olarak geçirilip geçirilmediğini içerir. Dönüş değerleri _Must_inspect_result_ için anlamına gelir _Check_return_ . |
_Use_decl_annotations_ |
Üst bilgideki ek açıklama listesi yerine işlev tanımında (işlev gövdesi olarak da bilinir) kullanılabilir. Kullanıldığında _Use_decl_annotations_ , aynı işlevin kapsam içi üst bilgisinde görünen ek açıklamalar, ek açıklamanın bulunduğu _Use_decl_annotations_ tanımda da mevcutmuş gibi kullanılır. |
Başarı/başarısızlık ek açıklamaları
İşlev başarısız olabilir ve başarısız olduğunda, işlevin sonuçları eksik olabilir veya işlev başarılı olduğunda sonuçlardan farklı olabilir. Aşağıdaki listede yer alan ek açıklamalar hata davranışını ifade etmenin yollarını sağlar. Bu ek açıklamaları kullanmak için bunların başarıyı belirlemesini sağlamalısınız; bu nedenle, bir _Success_
ek açıklama gereklidir. ve HRESULT
içinde zaten yerleşik bir _Success_
ek açıklama olduğuna NTSTATUS
dikkat edin; ancak veya HRESULT
üzerinde NTSTATUS
kendi _Success_
ek açıklamanızı belirtirseniz, yerleşik ek açıklamayı geçersiz kılar.
Ek Açıklama | Tanım |
---|---|
_Always_(anno_list) |
anno_list _On_failure_(anno_list) ile eşdeğerdir; diğer bir ifadeyle, içindeki ek açıklamalar anno_list işlevin başarılı olup olmadığını uygular. |
_On_failure_(anno_list) |
Yalnızca _Success_ işleve açıkça veya örtük _Return_type_success_ olarak bir tür tanımında açıklama eklemek için kullanıldığında kullanılır. _On_failure_ Ek açıklama bir işlev parametresinde veya dönüş değerinde mevcut olduğunda, içindeki her ek açıklama anno_list (anno) olarak kodlanmış gibi _When_(!expr, anno) davranır; burada expr gerekli _Success_ ek açıklamanın parametresidir. Bu, tüm son koşullara zımni uygulamasının _Success_ için _On_failure_ geçerli olmadığı anlamına gelir. |
_Return_type_success_(expr) |
Bir tür tanımına uygulanabilir. Bu türü döndüren ve açıkça sahip _Success_ olmayan tüm işlevlerin sahip olduğu _Success_(expr) gibi ek açıklama eklendiğini gösterir. _Return_type_success_ bir işlevde veya işlev işaretçisi tür tanımında kullanılamaz. |
_Success_(expr) |
expr bir rvalue veren bir ifadedir. _Success_ Ek açıklama bir işlev bildiriminde veya tanımında mevcut olduğunda, işlevdeki ve son koşuldaki her ek açıklama (anno ) olarak kodlanmış gibi _When_(expr, anno) davranır. Ek _Success_ açıklama yalnızca bir işlevde kullanılabilir, parametrelerinde veya dönüş türünde kullanılamaz. bir işlevde en fazla bir _Success_ ek açıklama olabilir ve herhangi bir _When_ , _At_ veya _Group_ içinde olamaz. Daha fazla bilgi için bkz . Ek Açıklamanın Ne Zaman ve Nerede Uygulanacağını Belirtme. |
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin