Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«4.Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство Windows (Π³Π». 12-14)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 28

Автор ΠœΠ°Ρ€ΠΊ Руссинович

Π”Π°Π»Π΅Π΅ интСрфСйсная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния, ΠΈ ΠΎΠ½ΠΈ находят ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располоТСны ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ этим ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ транспорта ΠΈ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ запрос ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ локального ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния сСтСвого транспорта. Когда ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос RPC, ΠΎΠ½ выполняСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (unmarshaling), рСконструируСт исходный Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅. Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, сСрвСр выполняСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠšΡ€ΠΎΠΌΠ΅ интСрфСйса, основанного Π½Π° описанном здСсь синхронном Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, RPC Π² Windows Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ асинхронный RPC (asynchronous RPC). Он позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ RPC Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ, Π½Π΅ доТидаясь Π΅Π΅ выполнСния, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. Ha это врСмя ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Когда ΠΎΡ‚ сСрвСра ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ увСдомлСния, Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Если ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹Π±Ρ€Π°Π» для увСдомлСния ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «событиС», ΠΎΠ½ ΠΆΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² свободноС состояниС, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ WaitForSingle-Object ΠΈΠ»ΠΈ WaitForMultipleObject. Если ΠΊΠ»ΠΈΠ΅Π½Ρ‚ прСдоставляСт APC (Asynchronous Procedure Call), Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния ставит APC Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ RPC-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Если ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² качСствС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° увСдомлСния ΠΏΠΎΡ€Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ GetQueuedCompletionStatus, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НаконСц, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, вызывая RcpAsyncGetCallStatus.

Помимо Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния Π² Microsoft RPC Π²Ρ…ΠΎΠ΄ΠΈΡ‚ компилятор MIDL (Microsoft Interface Definition Language). Π­Ρ‚ΠΎΡ‚ компилятор ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ RPC ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ язык C ΠΈΠ»ΠΈ C++), ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ». Π”Π°Π»Π΅Π΅ ΠΎΠ½ добавляСт ΠΊ этим ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°ΠΌ Π½ΡƒΠΆΠ½ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ для сСти ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. B ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС программист ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π½Π° языкС IDL (Interface Definition Language).

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ IDL-Ρ„Π°ΠΉΠ» транслируСтся компилятором MIDL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт интСрфСйсныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для клиСнтской ΠΈ сСрвСрной сторон, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Когда клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ связываСтся с Ρ„Π°ΠΉΠ»ΠΎΠΌ интСрфСйсных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ всС ссылки Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° сСрвСрной машинС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ RPC, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ с локальной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для взаимодСйствия с транспортным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² трансnopmaRPC (RPC transport provider interface). Π­Ρ‚ΠΎΡ‚ интСрфСйс слуТит Ρ‚ΠΎΠ½ΠΊΠΎΠΉ прослойкой ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ RPC ΠΈ транспортом, которая увязываСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ RPC с функциями, прСдоставляСмыми транспортом. RPC Π² Windows Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ DLL-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² транспорта для ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ², NetBIOS, SPX, TPC/IP ΠΈ UDP. B Windows Server 2003 ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ транспорта NetBIOS ΠΈΠ·ΡŠΡΡ‚, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ для HTTR Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ RPC ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ срСдствами сСтСвой Π·Π°Ρ‰ΠΈΡ‚Ρ‹.


ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π• B Windows 2000 ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ DLL-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… транспортов, Π½ΠΎ, начиная с Windows XP, встраиваниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… DLL ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π½Π΅ поддСрТиваСтся.


Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сСтСвых слуТб Windows являСтся прилоТСниями RPC, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ процСссами, Ρ‚Π°ΠΊ ΠΈ процСссами Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ клиСнтский ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ слуТбам сСрвСра для просмотра списка ΠΎΠ±Ρ‰ΠΈΡ… рСсурсов, открытия Ρ„Π°ΠΉΠ»ΠΎΠ², записи Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° этом сСрвСрС, Π»ΠΈΠ±ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Messenger Service (Π‘Π»ΡƒΠΆΠ±Ρƒ сообщСний) для посылки сообщСний (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² доступа).

Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своС имя ΠΏΠΎ адрСсу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΈ поискС. Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, называСмая ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠΌΠ΅Π½ΠΈ сСрвСра, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² RPC ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с Active Directory. Если Active Directory Π½Π΅ установлСна, слуТба Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠ΅Π½ возвращаСтся ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ рассылкС с использованиСм NetBIOS. Π­Ρ‚ΠΎ позволяСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с систСмами ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows NT 4 ΠΈ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ RPC Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… сСрвСрах ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станциях.


Π—Π°Ρ‰ΠΈΡ‚Π° Π² RPC

RPC ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (security support providers, SSP), Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈ сСрвСрам RPC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ связи. Когда сСрвСру RPC трСбуСтся Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ соСдинСниС, ΠΎΠ½ сообщаСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния, ΠΊΠ°ΠΊΡƒΡŽ слуТбу Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² список доступных слуТб Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. A ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ соСдинСниС, ΠΎΠ½ выполняСт привязку ΠΊ сСрвСру. Bo врСмя привязки ΠΊ сСрвСру ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ RPC слуТбу Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сообщСния, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ сСрвСром (Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, послано Π»ΠΈ ΠΎΠ½ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ), ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ RPC-сообщСний ΠΈ Π΄Π°ΠΆΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… RPC-сообщСний. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‚Π΅ΠΌ большС трСбуСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя участника бСзопасности (principal name) для сСрвСра. Участник бСзопасности (principal) β€” это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, распознаваСмая систСмой Π·Π°Ρ‰ΠΈΡ‚Ρ‹ RPC Π‘Π΅Ρ€Π²Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² SSP ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ участника бСзопасности, спСцифичным для SSP.

SSP Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя всС, Ρ‡Ρ‚ΠΎ связано с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ связи, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для RPC, Π½ΠΎ ΠΈ для Winsock. B Windows нСсколько встроСнных SSP, Π² Ρ‚ΠΎΠΌ числС Kerberos SSP, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Kerberos v5, SChannel (Secure Channel), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Secure Sockets Layer (SSL), ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ TLS (Transport Layer Security). Если SSP Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС RPC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ встроСнныС срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ транспорта. Одни транспорты, Π² частности ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ RPC, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ TCP, β€” Π½Π΅Ρ‚. B послСднСм случаС RPC ΠΏΡ€ΠΈ отсутствии ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ SSP Π²Ρ‹Π΄Π°Π΅Ρ‚ нСбСзопасныС Π²Ρ‹Π·ΠΎΠ²Ρ‹.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° функция Π·Π°Ρ‰ΠΈΡ‚Ρ‹ RPC позволяСт сСрвСру ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ RpcImpersonateClient. Когда сСрвСр Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π²ΡˆΠΈΡ… ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° собой, ΠΎΠ½ возвращаСтся ΠΊ использованию своих ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ RpcRevertToSelf ΠΈΠ»ΠΈ RpcRevertToSelJEx (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½Π΅, ΠΈΠ»ΠΈ ΠΎΠ»ΠΈΡ†Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠΈ, см. Π³Π»Π°Π²Ρƒ 8).


РСализация RPC

РСализация RPC ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° рис. 13-8, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС RPC связано с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния (\Windows\Sys-tem32\Rpcrt4.dll). ПослСдняя прСдоставляСт для интСрфСйсных RPC-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ RPC-взаимодСйствия Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ RPC ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ RPC. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ RPC позволяСт Π΄Π²ΡƒΠΌ процСссам Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС, ΠΏΡ€ΠΈ этом Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC Π² качСствС сСтСвого API ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ LPC Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра (ΠΎΠ± LPC см. Π³Π»Π°Π²Ρƒ 3). Когда RPC-Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉ-ствиС осущСствляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ систСмами, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RPC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ API-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Winsock, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ Message Queuing.


ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π• Message Queuing Π² Windows Server 2003 Π½Π΅ поддСрТиваСтся Π² качСствС транспорта.


ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° RPC (RPCvSS) (\Windows\System32\Rpcss.dll) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Windows-сСрвиса. RPCSS сама являСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ RPC, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ взаимодСйствуСт со своими экзСмплярами Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах для поиска ΠΈΠΌΠ΅Π½, рСгистрации ΠΈ динамичСского ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (dynamic end-point mapping). (Для упрощСния Π½Π° рис. 13-8 Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° связь RPCSS с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ RPC ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° выполнСния.)


API-интСрфСйсы доступа ΠΊ Web

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² Windows прСдусмотрСны клиСнтскиС ΠΈ сСрвСрныС API-интСрфСйсы доступа ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ. C ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих API прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвисы Gopher, FTP ΠΈ HTTP, Π½Π΅ зная Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ API Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Windows Internet, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ WinInet (позволяСт прилоТСниям Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Gopher, FTP ΠΈ HTTP), ΠΈ WinHTTP (Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прилоТСниям Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP). B ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуациях WinHTTP ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ WinInet. HTTP β€” это сСрвСрный API, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² Windows Server 2003 для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСрвСрных Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.