Dize Bağlama

Dize bağlaması, UUID bağlama nesnesini, RPC protokol dizisini, ağ adresini ve uç nokta ve uç nokta seçeneklerini temsil eden dizelerden oluşan imzasız bir karakter dizesidir.

ObjectUUID@ProtocolSequence:NetworkAddress[Endpoint,Option]

Parametre

ObjectUUID

Uzaktan yordam çağrısı tarafından çalıştırılan nesnenin UUID . Sunucuda RPC çalışma zamanı kitaplığı, doğru yönetici yordamını çağırmak için nesne türünü bir yönetici giriş noktası vektörünü (işlev işaretçileri dizisi) eşler. Nesne UUID'lerini giriş noktası vektörlerini yöneticiye eşleme hakkında bir tartışma için bkz. Arabirimleri Kaydetme.

ProtocolSequence

RPC protokolünün (ncacn gibi), aktarım protokolünün (TCP gibi) ve ağ protokolünün (IP gibi) geçerli bir bileşimini temsil eden karakter dizesi. Microsoft RPC, Protokol Dizisi Sabitleri'nde belirtilen aşağıdaki protokolleri destekler.

NetworkAddress

Uzaktan yordam çağrıları almak için sistemin ağ adresi.

Not

Aşağıdaki protokol dizileri Windows XP itibarıyla desteklenmez:

Ağ adresinin biçimi ve içeriği aşağıdaki gibi belirtilen protokol dizisine bağlıdır.

Protokol sırası Ağ adresi Örnekler
ncacn_nb_tcp Bilgisayar adı myserver
ncacn_nb_ipx Bilgisayar adı myserver
ncacn_nb_nb Bilgisayar adı myserver
ncacn_ip_tcp Dört sekizli İnternet adresi veya ana bilgisayar adı. IPv6 ağ yığını yüklüyse, IPv6 tam olarak desteklenir ve bir IPv6 adresi de kabul edilir. 128.10.2.30 anynode.microsoft.com
ncacn_np Sunucu adı (baştaki çift ters eğik çizgi isteğe bağlıdır) myserver \\myotherserver
ncacn_spx IPX İnternet adresi veya sunucu adı ~0000000108002B30612C myserver
ncacn_dnet_nsp Alan ve düğüm söz dizimi 4.120
ncacn_at_dsp bilgisayar adı, isteğe bağlı olarak @ ve AppleTalk bölge adı. Hiçbir bölge sağlanmadıysa varsayılan olarak @*, istemcinin bölgesidir servername@zonename sunucu adı
ncacn_vns_spp Form item@group@organization StreetTalk sunucu adı printserver@sdkdocs@microsoft
ncadg_mq Sunucu adı myserver
ncacn_http İnternet adresi (dört sekizli veya kolay ad ya da yerel sunucu adı 128.10.2.30 somesvr@anywhere.com mylocalsvr
ncadg_ip_udp Dört sekizli İnternet adresi veya ana bilgisayar adı 128.10.2.30 anynode.microsoft.com
ncadg_ipx IPX İnternet adresi veya sunucu adı ~0000000108002B30612C myserver
ncalrpc Makine adı thismachine

Ağ adresi alanı isteğe bağlıdır. Bir ağ adresi belirtmediğinizde, dize bağlaması yerel ana bilgisayarınıza başvurur. ncalrpc protokol dizisini kullanırken yerel bilgisayarın adını belirtmek mümkündür, ancak bunu yapmak tamamen gereksizdir.

uç nokta

Uzak yordam çağrılarını alma işleminin uç noktası veya adresi. Uç noktanın önünde endpoint= anahtar sözcüğü bulunabilir. Sunucu bağlamalarını uç nokta eşleyicisine kaydettiyse uç noktanın belirtilmesi isteğe bağlıdır. Bkz. rpcepregister.

Bir uç noktanın biçimi ve içeriği, aşağıdaki Uç Nokta/Seçenek Tablosu'nda gösterildiği gibi belirtilen protokol dizisine bağlıdır.

Seçenek

Protokole özgü seçenekler. Seçenek alanı gerekli değildir. Her seçenek, söz dizimi seçenek adı=seçenek değerikullanan bir {name, value} çifti tarafından belirtilir. Seçenekler her protokol dizisi için aşağıdaki Uç Nokta/Seçenek tablosunda gösterildiği gibi tanımlanır.

Protokol sırası Bitiş noktası Örnekler Seçenek adı
ncacn_nb_tcp 1 ile 254 arasında bir tamsayı. 0 ile 32 arasındaki birçok değer Microsoft tarafından ayrılmıştır. 100 Hiç kimse
ncacn_nb_ipx (yukarıdaki gibi) (yukarıdaki gibi) Hiç kimse
ncacn_nb_nb (yukarıdaki gibi) (yukarıdaki gibi) Hiç kimse
ncacn_ip_tcp İnternet bağlantı noktası numarası. 1025 Hiç kimse
ncacn_np Adlandırılmış kanal. Ad "\\pipe" ile başlamalıdır. \\pipe\\pipename Güvenlik
ncacn_spx 1 ile 65535 arasındaki tamsayı. 5000 Hiç kimse
ncacn_dnet_nsp DECnet aşama IV nesne numarası (önünde # karakteri olmalıdır) veya nesne adı. posta sunucusu #17 Hiç kimse
ncacn_at_dsp En fazla 22 bayt uzunluğunda bir karakter dizesi. myservicesendpoint Hiç kimse
ncacn_vns_spp 250 ile 511 arasında Vines SPP bağlantı noktası numarası. 500 Hiç kimse
ncadg_mq 1 ile 65535 arasındaki tamsayı. 5000 Hiç kimse
ncacn_http İnternet bağlantı noktası numarası. 2215 HTTP ve RPC proxy sunucu adları, HttpBağlantı seçeneği
ncadg_ip_udp İnternet bağlantı noktası numarası. 1025 Hiç kimse
ncadg_ipx 1 ile 65535 arasındaki tamsayı. 5000 Hiç kimse
ncalrpc Uygulama veya hizmet adını belirten dize. Dize herhangi bir ters eğik çizgi karakteri içeremez. my_printer Güvenlik

ncacn_http protokol dizisi için desteklenen HttpConnectionOption seçenek adı aşağıdaki değeri alır.

Seçenek adı Değer
HttpConnectOption KullanımıHttpProxy

httpconnectionOption , HTTP bağlantıları oluştururken RPC davranışını yönlendirmenizi sağlar. UseHttpProxy değeri, istemcinin Internet Explorer'da yerel adresler için proxy sunucusunu atlayacak şekilde ayarlanmış internet seçenekleri de dahil olmak üzere RPC'ye trafiği her zaman Http ara sunucusu üzerinden yönlendirmesini bildirir. Bu seçenek istemciyi Http ara sunucusu aracılığıyla RPC ara sunucusuna zorla bağlanmaya yönlendirir. Bu, HTTP proxy'sini kullanmadan hemen önce RPC sunucusunu ararken herhangi bir gecikmeyi atladığından bağlantı kurma süresini hızlandırır.

Bu HttpConnectionOption seçeneği kullanılırsa ve istemcideki Internet Explorer bu Http ara sunucusunu kullanacak şekilde yapılandırılmamışsa, RPC_S_INVALID_NETWORK_OPTIONSile bağlantılar başarısız olabilir.

HttpConnectOption=UseHttpProxy

httpconnectionOption hakkında daha fazla bilgi için bkz. HTTP'yi RPC Aktarım olarak kullanma.

ncalrpc, ncacn_np, ncadg_ip_udp ve ncadg_ipx protokol dizileri için desteklenen Güvenlik seçenek adı aşağıdaki seçenek değerlerini alır.

Seçenek adı Seçenek değeri
Güvenlik {identification | anonim | kimliğe bürünme} {dynamic | static} {true | false}

Güvenlik seçeneği adı belirtilirse, güvenlik seçeneği değer kümelerinin her birinden bir girdi de sağlanmalıdır. Seçenek değerleri tek boşluklu bir karakterle ayrılmalıdır. Örneğin, aşağıdaki Option alanları geçerlidir:

Security=identification dynamic true
Security=impersonation static true

Güvenlik seçeneği değerleri aşağıdaki anlamlara sahiptir.

Güvenlik seçeneği değeri Açıklama
Anonim İstemci, sunucuya anonimdir.
Dinamik sunucu aktarım güvenliğini kullandığında istemci güvenlik kimliğindeki değişiklikler sunucu tarafından görülür. Bu, LRPC (ncalrpc) aktarım düzeyi güvenliği ve yerel adlandırılmış kanal (ncacn_np) aktarım düzeyi güvenliği için varsayılan moddur.
False Geçerlilik = FALSE; OFF olarak ayarlanmış olanlar da dahil olmak üzere tüm belirteç ayrıcalık ayarları sunucudaki belirteçte yer alır ve sunucu tarafından etkinleştirilebilir. Ayrıcalıklar yalnızca aynı makine RPC çağrıları için geçerlidir.
Tanımlama Sunucuda istemci hakkında bilgiler var ancak kimliğine bürünemiyor.
Kimliğe Bürünme Sunucu, yerel sistem içinde istemci adına işlem yapabilir (aktarım düzeyi güvenliği temsilci seçmeyi desteklemez).
statik Sunucu aktarım güvenliği kullandığında istemci güvenlik kimliğindeki değişiklikler sunucu tarafından görülmez. Bu, uzak adlandırılmış kanal (ncacn_np) aktarım düzeyi güvenliği için kullanılabilen tek moddur. Çağıranın kimliği, bağlama tutamacının oluşturulduğu sırada değil, bu bağlama tutamacında ilk uzak yordam çağrısı sırasında kaydedilir.
True Effective = TRUE; sunucudaki belirteçte yalnızca ON olarak ayarlanmış belirteç ayrıcalıkları ayarları bulunur. Bu seçenek kullanılırsa, off olarak ayarlanmış ayrıcalıklar sunucu tarafından açılamaz. Ayrıcalıklar yalnızca aynı makine RPC çağrıları için geçerlidir.

Güvenlik seçenekleri hakkında daha fazla bilgi için güvenlik .

Açıklamalar

dize bağlamalarında, Option söz diziminin gerektirdiği durumlar dışında boşluklara izin verilmez. NetworkAddress, Endpointve Option alanları için varsayılan ayarlar ProtocolSequence üyesinin değerine göre değişir.

Tüm dize bağlama alanları için tek bir ters eğik çizgi karakteri (\) kaçış karakteri olarak yorumlanır. Tek bir değişmez değer ters eğik çizgi karakteri belirtmek için iki ters eğik çizgi karakteri (\\) sağlamanız gerekir.

Dize bağlaması, bağlama tutamacının karakter gösterimini ve bazen bağlama tutamacının bölümlerini içerir. Dize bağlamaları, bağlama tutamacının bölümlerini temsil etmek için uygundur, ancak uzaktan yordam çağrıları yapmak için kullanılamaz. İlk olarak RpcBindingFromStringBindingçağrılarak bağlama tanıtıcısına dönüştürülmeleri gerekir.

Ayrıca, dize bağlaması bağlama tutamacından alınan tüm bilgileri içermez. Örneğin, bağlama tanıtıcısıyla ilişkili kimlik doğrulama bilgileri, rpcbindingToStringBindingçağrılarak döndürülen dize bağlamasına çevrilmez.

Dağıtılmış bir uygulamanın geliştirilmesi sırasında sunucular, uç nokta eşleme veritabanını veya ad hizmeti veritabanını kullanmadan istemci-sunucu ilişkisi kurmak için dize bağlamalarını kullanarak istemcilere bağlama bilgilerini iletebilir. Böyle bir ilişki kurmak için RpcBindingToStringBindingişlevini kullanarak bağlama tanıtıcı vektörlerinden bir veya daha fazla bağlama tutamacını dize bağlamasına dönüştürün ve istemciye dize bağlamasını sağlayın.

Örnekler

Aşağıda geçerli dize bağlama örnekleri verilmiştir. Bu örneklerde obj-uuid, dize biçiminde geçerli bir UUID'yi göstermek için kullanılır. UUID 308FB580-1EB2-11CA-923B-08002B1075A7 yerine, örneklerde obj-uuid gösterilmektedir.

obj-uuid@ncadg_mq:mymqserver
obj-uuid@ncacn_http:major7.microsoft.com[2225]
obj_uuid@ncacn_http:major7.microsoft.com[,HttpProxy=proxysvr:80,
    RpcProxy=websvr1.microsoft.com:80]
obj_uuid@ncacn_http:major7.microsoft.com[,HttpProxy=proxysvr:80,
    RpcProxy=websvr1.microsoft.com:80,HttpConnectOption=UseHttpProxy]
obj-uuid@ncacn_ip_tcp:16.20.16.27[2001]
obj-uuid@ncacn_ip_tcp:16.20.16.27[endpoint=2001]
obj-uuid@ncacn_nb_nb:
obj-uuid@ncacn_nb_nb:[100]
obj-uuid@ncacn_np:
obj-uuid@ncacn_np:[\\pipe\\p3,Security=impersonation static true]
obj-uuid@ncacn_np:\\\\marketing[\\pipe\\p2\\p3\\p4]
obj-uuid@ncacn_np:\\\\marketing[endpoint=\\pipe\\p2\\p3\\p4]
obj-uuid@ncacn_np:\\\\sales
obj-uuid@ncacn_np:\\\\sales[\\pipe\\p1,Security=identification dynamic true]
obj-uuid@ncalrpc:
obj-uuid@ncalrpc:[object1_name_demonstrating_that_these_can_be_lengthy]
obj-uuid@ncalrpc:[object2_name,Security=anonymous static true]
obj-uuid@ncacn_vns_spp:server@group@org[500]
obj-uuid@ncacn_dnet_nsp:took[elf_server]
obj-uuid@ncacn_dnet_nsp:took[endpoint=elf_server]
obj-uuid@ncadg_ip_udp:128.10.2.30
obj-uuid@ncadg_ip_udp:maryos.microsoft.com[1025]
obj-uuid@ncadg_ipx: ~0000000108002B30612C[5000]
obj-uuid@ncadg_ipx:printserver
obj-uuid@ncacn_spx:annaw[4390]
obj-uuid@ncacn_spx:~0000000108002B30612C

rpcbindingFromStringBinding

rpcbindingToStringBinding

RpcEpRegister

HTTP'yi RPC Aktarım Olarak Kullanma