Belirli IDL yapıları RPC tarafından yanlış sıralanıyor ve sıralamaları yanlış kaldırılıyor

Makale çevirileri Makale çevirileri
Makale numarası: 824835 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Önemli Bu makale, kayıt defterini düzenlemeyle ilgili bilgi içerir. Kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun çıkması durumunda kayıt defterini nasıl geri yükleyeceğinizi bildiğinizden emin olun. Kayıt defterini yedekleme, geri yükleme ve değiştirme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makaleyi inceleyin:
256986Microsoft Windows Kayıt Defteri'nin Açıklaması
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Uzaktan yordam çağrısı (RPC) iletişim kurmak için Microsoft Windows tabanlı diğer bilgisayarlarla ağ üzerinden kullanan programlar başarısız olabilir. Örneğin, iki uzak bilgisayar arasında özel bir Microsoft Visual Basic programını kullanıp, sıralama Visual Basic programı kullanan kullanıcı tanımlı türleri, olabilir belirli arabirim tanımlama dili (IDL) yapıları Bul yanlış sıralanmış ve iptal. Örneğin, aşağıdaki belirtilerden herhangi biriyle karşılaşabilirsiniz:
  • Uzak çağrısı başarısız oluyor ve bir RPC_X_BAD_STUB_DATA) hata kodu, Visual Basic programı tarafından döndürülür.
  • Hatalı veri iptal.

Neden

Bu sorun, RPC bileşeni yanlış s?ralar veya belirli IDL yapıları yaratır ortaya çıkabilir. Hatalı çağrılamadı ve marka IDL yapıları unmarshal Windows sürümleri şunlardır:
  • Microsoft Windows XP (özgün sürüm) ve Windows XP Service Pack 1 (SP1) yüklemeleri MS03-039) güvenlik dahil güncelleştirme. Bu güncelleştirme, aşağıdaki Microsoft Bilgi Bankası makalesinde belgelenmiştir:
    824146MS03-039: RPCSS'de önbellek taşması bir saldırganın kötü amaçlı programlar çalıştırmasına izin verebilir
  • Microsoft Windows 2000
  • Microsoft Windows NT 4.0
  • Microsoft Windows 98
Bu sorun, bir Visual Basic programında aşağıdaki koşulların her ikisi de doğruysa oluşabilir:
  • IDL dosyası aşağıdaki türlerden birini kullanan bir 8 baytlık alan içeren bir yapı kullanır:
    TARİH
    Çift
    cy
    VARYANT
    Ondalık
    İNT64/UİNT64
  • 8 Baytlık alan olmayan birinci alan ve 4 bayt bir alan veya aynı yapısında içeren 8 baytlık alan önce daha küçük.
Örneğin, aşağıdakine benzer bir yapı IDL dosyayı kullanıyorsa, bu sorun oluşabilir:
Public Type myType

member1 As Long

member2 As Double

End Type

Çözüm

Windows Server 2003 için düzeltme bilgileri

Hatalı çağrılamadı IDL yapıları unmarshal Windows sürümleri ile iletişim kurmak için aşağıdaki adımları izleyin:
  1. Aşağıdakilerden birini yapın:
    • Windows Server 2003'e en son hizmet paketini yükleyin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      889100En son Windows Server 2003 hizmet paketi nasıl elde edilir
    • BANA nstall MS05-051 güvenlik bülteninde anlatılan güvenlik güncelleştirmesi.Güvenlik Bülteni MS05-051) hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
      902400MS05-051: MS DTC ve COM + hizmetlerindeki güvenlik açıkları uzaktan kod yürütülmesine izin verebilir
  2. UDTAlignmentPolicy kayıt defteri girdisini ekleyin. Bunu yapmak için şu adımları izleyin:

    Uyarı Kayıt Defteri Düzenleyicisi'ni veya başka bir yöntemi kullanarak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu sorunlar, işletim sisteminizi yeniden yüklemenizi gerektirebilir. Microsoft bu sorunların çözülebileceğini garanti etmemektedir. Kayıt defterini kendi sorumluluğunuzda değiştiriniz.
    1. Başlat ' ı tıklatın, Çalıştır kutusunda ' ı tıklatın, regedit yazın ve Tamam ' ı tıklatın.
    2. Aşağıdaki kayıt defteri alt anahtarını bulun:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
    3. Düzen menüsünden Yeni ' nin üzerine gidin ve DWORD değeri ' ni tıklatın.
    4. UDTAlignmentPolicy yazın ve ENTER tuşuna basın.
    5. UDTAlignmentPolicy ' ı çift tıklatın ve sonra aşağıdaki bilgileri RPC kullanan bir veri biçimi'ni temel belirlemek için bir değer yazın:

      UDTAlignmentPolicy değerini 0 olarak ayarlarsanız, RPC "eski" hatalı veri biçimi kullanarak çağrılamadı. RPC, yanlış çağrılamadı IDL yapıları unmarshal Windows sürümleri ile iletişim kurar. Örneğin, RPC, Windows 2000 ile iletişim kurar veya MS03-039'i içeren Windows XP SP1 yüklemelerinde güncelleştirin.

      UDTAlignmentPolicy değerini 0 olarak ayarlarsanız, RPC, Windows 2000 tabanlı bilgisayarlarla iletişim kurabilirsiniz.

      UDTAlignmentPolicy değeri 1 olarak ayarlarsanız, RPC "Yeni" doğru kablo biçimi kullanarak çağrılamadı. RPC doğru sıralama IDL yapıları unmarshal Windows sürümleri ile iletişim kurar. Örneğin, RPC, Windows Server 2003 ile iletişim kurar veya MS03-026'i içeren Windows XP yüklemelerinin güncelleştirin.

      RPC çağrılamadı veya unmarshal çalıştığında, UDTAlignmentPolicy girdisi yok, uzak çağrısı başarısız olur ve RPC RPC_X_BAD_STUB_DATA) hata kodu döndürür, türleri etkiledi.

      ÖnemliUDTAlignmentPolicy değerini 0 olarak ayarlandığında, Windows Server 2003 tabanlı bilgisayarınızı IDL yap?s? yanlış çağrılamadı IDL yapıları unmarshal Windows sürümleri için veri alabilirsiniz. Ancak, IDL yap?s? için yanlış biçim iptal edilir. Sıralama ve unmarshaling kodunu, bu aynı IDL yap?s? çalışabilirlik engelleyebilir ve diğer IDL yapıları için yanlış'ı kullanarak, sıralama, programların doğru Windows sürümlerini çalıştıran bilgisayarlarla iletişim kurmak ve IDL yapıları unmarshal.

Windows XP hizmet paketi bilgileri

Bu sorunu gidermek için, en son Windows XP hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322389en son Windows XP hizmet paketi nasıl elde edilir
Windows XP Service Pack 2'de RPC iletişim kuruyorsa, Windows'un farklı sürümlerinde şekilde ayarlamak için UDTAlignmentPolicy kayıt defteri girdisini değiştirebilirsiniz. Bunu yapmak için <a0></a0>, adım 3'te "Düzeltme bilgileri" Windows Server 2003 için bölüm izleyin.

Windows XP için düzeltme bilgileri

MS03-039'i içeren Windows 2000 veya Windows XP yüklemelerinin güncelleştirme gibi yanlış çağrılamadı IDL yapıları, unmarshal Windows sürümleri ile iletişim kurmak için <a0></a0>, Windows XP SP1 tabanlı bilgisayarlarda güncelleştirme MS03-039'i yükleyin. MS03-039 hakkında) daha fazla bilgi için bu güncelleştirme, Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824146MS03-039: RPCSS'de önbellek taşması bir saldırganın kötü amaçlı programlar çalıştırmasına izin verebilir
Desteklenen bir düzeltme şu anda doğru sıralama IDL yapıları unmarshal Windows sürümleriyle RPC kullanarak iletişim kuran Windows XP tabanlı bilgisayarlar için kullanılamaz. Windows Server 2003 bu sürümleridir ve MS03-026'i içeren Windows XP yüklemelerinin güncelleştirin.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır. Bu sorun ilk olarak Microsoft Windows XP Service Pack 2'de giderilmiştir.

Daha fazla bilgi

Doğru sıralama ve "Neden" bölümünde açıklanan IDL yap?s? unmarshal Windows sürümleri şunlardır:
  • Microsoft Windows Server 2003 ve sonraki sürümleri
  • MS03-026'i içeren Microsoft Windows XP Service Pack 1 (SP1) yüklemeleri güncelleştirdiğinizde, ancak MS03-039) güvenlik güncelleştirmesi içerir. MS03-026) güncelleştirmesi, aşağıdaki Microsoft Bilgi Bankası makalesinde belgelenmiştir:
    823980MS03-026: Arabellek RPC arabirimi taşması kod yürütülmesine izin verebilir
  • Microsoft Windows XP Service Pack 2 (SP2)
Not Desteklenen bir düzeltme şu anda doğru sıralama IDL yapıları unmarshal Windows sürümleriyle RPC kullanarak iletişim kuran Windows 2000 tabanlı bilgisayarlar için kullanılamaz. Windows Server 2003 bu sürümleridir ve MS03-026'i içeren Windows XP yüklemelerinin güncelleştirin.

Özellikler

Makale numarası: 824835 - Last Review: 27 Şubat 2014 Perşembe - Gözden geçirme: 13.6
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium) 2003
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbtshoot kbwinxpsp2fix kbwinxppresp2fix kbfix kbbug KB824835 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:824835

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com