Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
KTM'de üstün işlem yöneticisi , katıldığı işlemler için üstün listeler oluşturan bir kaynak yöneticisidir. Üstün kayıtlama, kaynak yöneticisine kaydın işlemindeki onaylama işlemini koordine etme yeteneği veren bir kayıtlama türüdür. Başka bir deyişle, işlem istemcisi veya üst işlem yöneticisi işlem için önceden hazırlama/hazırlama/işleme sırasını başlatabilir.
Bir kaynak yöneticisi bir işlem için üstün bir liste oluşturduktan sonra, KTM işlem için ZwCommitTransaction'a yapılan tüm çağrıları reddeder. Bu nedenle, işlem istemcileri böyle bir işlemi işleyemez. Bunun yerine, üst listeyi oluşturan kaynak yöneticisinin ZwPrePrepareEnlistment, ZwPrepareEnlistment ve ZwCommitEnlistment'i çağırması gerekir.
Üstün İşlem Yöneticisi Ne Zaman Oluşturulur?
Bir işlem işleme sistemi (TPS) bileşenini KTM ile tümleştirmek istediğinizi, ancak bileşenin istemcilerin çağırabileceği kendi KTM dışı işlem yönetimi özelliklerini içerdiğini varsayalım. Böyle bir durumda, üstün bir işlem yöneticisi oluşturmanız gerekebilir.
Örneğin, bileşeninizin istemcilerin işlem oluşturmak ve işlemek için kullandığı kendi arabirimlerini sağladığını varsayalım. Bileşeninizin istemcileri işlemleri oluşturmak veya işlemek için KTM'yi çağırmadığından, bileşeninizi KTM tabanlı bir TPS ile tümleştirdiğinizde üstün bir işlem yöneticisi olması gerekir.
Üstün İşlem Yöneticisi Oluşturma
Bileşeninizin üstün bir işlem yöneticisi olmasını istiyorsanız, aşağıdakileri yapmalıdır:
Kaynak yöneticisi olarak kaydolmak için ZwCreateResourceManager'ı arayın.
Bileşeninizin istemcisi, bileşeninizin istemci arabirimini kullanarak her işlem oluşturduğunda ZwCreateTransaction'ı çağırın.
ZwCreateEnlistment çağrısı yaparak ENLISTMENT_SUPERIOR bayrağını ayarlayın ve hem ENLISTMENT_SUPERIOR_RIGHTS hem de ENLISTMENT_SUBORDINATE_RIGHTS erişim bayraklarını belirtin.
Bileşeninizin istemcisi işlemi işlemek için bileşeninizin istemci arabirimini çağırdığında ZwPrePrepareEnlistment, ZwPrepareEnlistment ve ZwCommitEnlistment'i çağırın.
KTM, işlem başına yalnızca bir öncelikli kayda izin verir. Diğer kaynak yöneticileri ek listeler oluşturabilir. Bu listeler, işleme işlemini başlatamadıkları için alt listeler olarak adlandırılır.
Üstün bir kaydı geri almak için, üstün işlem yöneticiniz ZwRollbackEnlistment'i çağırır.
Üstün bir kaydı kurtarmak için, üstün işlem yöneticiniz ZwRecoverEnlistment'i çağırır.
Üst düzey bir işlem yöneticisi bir işlemi işlediğinde, geri gönderdiğinde veya kurtardığında, KTM tüm alt listelere işlem bildirimleri gönderir, böylece bu kişiler katılabilir.
Üstün işlem yöneticisi içeren bir TPS , tek aşamalı işleme işlemlerini kullanamaz.
Kurtarma işlemi sırasında, KTM bir işlemin sonucunu belirleyemezse, üst işlem yöneticisine TRANSACTION_NOTIFY_RECOVER_QUERY bir bildirim gönderir. Yanıt olarak, işlem işlenebiliyorsa üst işlem yöneticisinin ZwCommitEnlistment'i veya işlemin geri alınması gerekiyorsa ZwRollbackEnlistment'i çağırması gerekir. Üst işlem yöneticisi bir işlemin sonucunu belirleyemezse, bir sonucu belirleyene kadar TRANSACTION_NOTIFY_RECOVER_QUERY bildirimine yanıt vermemelidir.