Megosztás a következőn keresztül:


PNRP és WSASetService

A PNRP a WSASetService függvénnyel regisztrálja vagy eltávolítja társneveket.

Név regisztrálása

A regisztráció tartalmazza a társnevet és a végpontok készletét, ahol egy szolgáltatással kapcsolatba lehet lépni. A regisztráció egy PNRP-felhőre vonatkozik. A társ regisztrálása után késés van a regisztráció és a regisztrációs adatok más csomópontokra való propagálása között. Ez idő alatt előfordulhat, hogy más csomópontok nem tudják feloldani az újonnan regisztrált társokat.

A szolgáltatásregisztráció nem állandó.

  • Ha a társnevet regisztráló ügyfélfolyamat kilép vagy meghívja WSACleanup, akkor a társnév regisztrációja nem történik meg.
  • Ha az aktuális folyamat már regisztrál egy adott társnevet ugyanabban a felhőben, a rendszer új regisztrációs értékekkel cseréli le.

Társnév regisztrálásakor a következő paraméterértékeket kell megadni:

  • essOperation paraméternek RNRSERVICE_REGISTERértékkel kell rendelkeznie.
  • dwControlFlags paraméternek nullának (0) kell lennie.

Társnév regisztrálásakor az LPWSAQUERYSETlpqsRegInfo paraméter által hivatkozott struktúrának a következő értékeket kell tartalmaznia:

dwSize

A struktúra méretét adja meg.

lpszServiceInstanceName

Megadja a regisztrálandó társ nevét. Ha a társnév nem biztonságos, akkor az identitás megadása nem kötelező. Ha az identitás NULLvan megadva, a PNRP alapértelmezés szerint a gép helyi identitását használja.

lpServiceClassID

SVCID_PNRPNAME kell lennie.

lpVersion

Figyelmen kívül hagyja. Állítsa be a NULL .

lpszComment

Figyelmen kívül hagyja. A sztringnek azonban 40 karakternél kevesebbnek kell lennie, beleértve a NULL terminátort is.

dwNameSpace

NS_PNRPNAME vagy NS_ALLkell lennie.

lpNSProviderID

A NS_PROVIDER_PNRPNAME vagy NULLkell lennie.

lpszContext

Felhőnévnek, üres sztringnek vagy NULLkell lennie. Ha ez az érték NULL vagy üres sztring, a rendszer az alapértelmezett "Globális" felhőt használja. Ellenkező esetben érvényes felhőnévre kell mutatnia.

dwNumberOfProtocols

Figyelmen kívül hagyja. Állítsa nullára (0).

lpszQueryString

Figyelmen kívül hagyja. Állítsa be a NULL .

dwNumberOfCsAddrs

A szolgáltatás által regisztrált címek számát adja meg. Az egyetlen névre regisztrálható címek maximális száma 10.

lpcsaBuffer

Mutasson a regisztrálandó címek listájára.

dwOutputFlags

Figyelmen kívül hagyja. Állítsa nullára (0).

lpBlob

Mutasson egy BLOB struktúrára, amely egy PNRPINFO struktúrára mutat. A PNRPINFO struktúrában meghatározott paramétereket kell beállítani. További információ: PNRPINFO struktúraszakasz.

A PNRPINFO struktúrája

Ha a LPWSAQUERYSET struktúrájának lpBlob tagja van beállítva, a PNRPINFO struktúrájának következő tagjait kell beállítani:

dwSize

A struktúra méretét adja meg.

lpwszIdentitási

A társnév PeerIdentityCreatehasználatával létrehozott identitását adja meg. Ha egy társnév nem biztonságos, akkor az identitás megadása nem kötelező. Ha az identitás NULLvan megadva, a PNRP alapértelmezés szerint a számítógép helyi identitását használja.

nMaxResolve

Figyelmen kívül hagyja. Állítsa nullára (0).

dwTimeout

Figyelmen kívül hagyja. Állítsa nullára (0).

dwLifetime

A frissítési műveletek közötti másodpercek számát adja meg.

enResolveCriteria

Figyelmen kívül hagyja. Állítsa nullára (0).

dwFlags

Nullának (0) vagy PNRPINFO_HINTkell lennie. Az alapértelmezett érték nulla (0). Ez azt jelenti, hogy a PNRP-azonosító szolgáltatáshelyi része az saHintIP-címével jön létre. Ellenkező esetben a szolgáltatás helye a lpcsaBuffer tag első IPv6-bejegyzésének első IP-címével jön létre.

saHint

Megadja a tipp IPv6-címét.

enNameState

Figyelmen kívül hagyja. Állítsa nullára (0).

Társnév regisztrációja törlése

Az alábbi lista azonosítja a társnév regisztrációjának megszüntetésével kapcsolatos fontos információkat.

  • Csak a társnevet regisztráló alkalmazások törölhetik a regisztrációt.
  • Ha WSACleanup van meghívva, a rendszer automatikusan megszünteti a társnév regisztrációját.
  • A PNRP mindig eltávolítja a teljes szolgáltatásnév-regisztrációt. Nem teszi lehetővé az egyes címek eltávolítását.
  • Név regisztrációjának törlésekor az essOperation paraméternek RNRSERVICE_DELETEértékkel kell rendelkeznie.
  • A PNRP nem támogatja a RNRSERVICE_DEREGISTERértéket.
  • A dwControlFlags paraméternek nullának (0) kell lennie.

A név regisztrációjának törlésekor az LPWSAQUERYSET struktúrának, amelyet az lpqsRegInfo paraméterhivatkozásainak tartalmazniuk kell a következő értékeket:

dwSize

A struktúra méretét adja meg.

lpszServiceInstanceName

Megadja a regisztrációt megszüntetni kívánt társnevet.

lpServiceClassID

SVCID_PNRPNAMEkell lennie.

lpVersion

Figyelmen kívül hagyja. Állítsa be a NULL .

lpszComment

Figyelmen kívül hagyja. Állítsa be a NULL .

dwNameSpace

NS_PNRPNAME vagy NS_ALLkell lennie.

lpNSProviderID

A NS_PROVIDER_PNRPNAME vagy NULLkell lennie.

lpszContext

Felhőnévnek, üres sztringnek vagy NULLkell lennie. Ha ez az érték NULL vagy üres sztring, a rendszer az alapértelmezett "Globális" felhőt használja. Ellenkező esetben érvényes felhőnévre kell mutatnia.

dwNumberOfProtocols

Figyelmen kívül hagyja. Állítsa nullára (0).

lpszQueryString

Figyelmen kívül hagyja. Állítsa be a NULL .

dwNumberOfCsAddrs

Figyelmen kívül hagyja. Állítsa be a NULL .

lpcsaBuffer

Figyelmen kívül hagyja. Állítsa be a NULL .

dwOutputFlags

Figyelmen kívül hagyja. Állítsa nullára (0).

lpBlob

Mutasson egy BLOB struktúrára, amely egy PNRPINFO struktúrára mutat. A lpszIdentitáslpBlob struktúrájának tagja azonosítja a társnév regisztrálásához használt identitás nevét. A többi tagnak ugyanazokra az értékekre kell állítania, amelyeket a név regisztrálásakor használnak.

PNRP- és BLOB-

PNRP és WSAQUERYSET

PNRPINFO

PNRP NSP hibakódjai

WSACleanup

WSASetService