共用方式為


PNRP 和 WSALookupServiceBegin

PNRP 會使用 WSALookupServiceBegin 函式來啟動可讓應用程式執行下列動作的程式:

嘗試執行其中一個函式的用戶端會使用 WSALookupServiceBeginWSALookupServiceNextWSALookupServiceEnd 函式。

藉由使用 WSANSPIoctl,可以非同步使用查閱服務。 如需非同步使用查閱服務函式的相關資訊,請參閱 PNRP 和 WSANSPIoctl

使用對等名稱的程式與使用雲端的程式不同。 本主題會個別描述每個程式。

解析名稱

應用程式會使用 WSALookupServiceBegin 來取得在另一部電腦上註冊之對等服務的 IP 位址、埠和通訊協定。 WSALookupServiceBegin函式可用來啟動名稱解析程式,並設定參數和限制。 會傳回控制碼,而且必須在呼叫 WSALookupServiceNextWSANSPIoctl時使用。

lpqsRestrictions

解析對等名稱時,lpqsRestrictions參數參考的LPWSAQUERYSET結構必須包含下列值:

dwSize

指定這個 結構的大小。

lpszServiceInstanceName

指定要解析的對等名稱。

lpServiceClassID

必須是 SVCID_PNRPNAME

lpVersion

保留的 必須是 Null

lpszComment

保留的 必須是 Null

dwNameSpace

必須是 NS_PNRPNAMENS_ALL

lpNSProviderID

必須是 NS_PROVIDER_PNRPNAMENull

lpszCoNtext

必須是雲端名稱、空字串或 Null。 如果此值為 Null 或空字串,則會使用預設雲端 「Global_」。 否則,它必須指向有效的雲端名稱。

dwNumberOfProtocols

保留的 必須是 0 (0) 。

lpszQueryString

保留的 必須是 Null

dwNumberOfCsAddrs

保留的 必須是 0 (0) 。

lpcsaBuffer

保留的 必須是 Null

dwOutputFlags

保留的 必須是 0 (0) 。

lpBlob

必須是 BLOB 結構的指標或 Null。 如果是 Null,則會使用預設值。 如果已設定, lpBlob 會指向 PNRPINFO 結構,而且必須設定 PNRPINFO 結構中的特定參數。 如需詳細資訊,請參閱 PNRPINFO 結構的下列描述。

PNRPINFO 結構

如果已設定LPWSAQUERYSET結構的lpBlob成員,則必須設定下列 PNRPINFO結構的成員:

dwSize

指定這個 結構的大小。

lpwszIdentity

保留的 必須是 Null

nMaxResolve

指定要求的解析度數目。

dwTimeout

指定要等候回應的要求逾時期間。 預設值為 30 秒。 最大值為 600 秒, (10 分鐘) 。

dwLifetime

保留的 必須是 0 (0) 。

enResolveCriteria

必須是其中一個允許的值。 預設值 為 PNRP_RESOLVE_CRITERIA_NON_CURRENT_PROCESS_PEER_NAME。 有效值是由 PNRP_RESOLVE_CRITERIA所指定。

dwFlags

必須是零 (0) 或 PNRPINFO_HINT。 預設為零 (0)。

saHint

指定提示的 IP 位址。 嘗試尋找最接近的對等名稱時,會使用提示。 提示的格式是 IPv6 位址。 如果在尋找最接近的對等名稱時未指定 saHint ,則會改用本機電腦的 IPv6 位址。 如果未設定 dwFlags, 則會忽略此成員。

enNameState

保留的 必須是 0 (0) 。

dwControlFlags

PNRP 支援下列LUP_RETURN_* 旗標:

Description
LUP_RETURN_NAME 傳回名稱和內容。
LUP_RETURN_COMMENT 傳回與名稱相關聯的批註。
LUP_RETURN_ADDR 傳回與名稱相關聯的位址。

 

列舉網路雲端

lpqsRestrictions

列舉雲端時,lpqsRestrictions參數參考的LPWSAQUERYSET結構必須包含下列值:

dwSize

指定這個 結構的大小。

lpszServiceInstanceName

必須是 Null

lpServiceClassID

必須是 SVCID_PNRPCLOUD

lpVersion

保留的 必須是 Null

lpszComment

保留的 必須是 Null

dwNameSpace

必須是 NS_PNRPCLOUD

lpNSProviderID

必須是 NS_PROVIDER_PNRPCLOUDNull

lpszCoNtext

保留的 必須是 Null

dwNumberOfProtocols

保留的 必須是 0 (0) 。

lpszQueryString

保留的 必須是 Null

dwNumberOfCsAddrs

保留的 必須是 0 (0) 。

lpcsaBuffer

保留的 必須是 Null

dwOutputFlags

保留的 必須是 0 (0) 。

lpBlob

指向PNRPCLOUDINFO結構的BLOB結構的指標。 如果 lpBlobNull,則會列舉所有雲端。

PNRPCLOUDINFO 結構

列舉雲端時,必須設定 下列 PNRPCLOUDINFO 結構成員:

dwSize

指定這個 結構的大小。

指向 結構,指定可用來篩選搜尋結果的準則。 Cloud.Scope成員可以PNRP_SCOPE_ANYPNRP_GLOBAL_SCOPEPNRP_SITE_LOCAL_SCOPEPNRP_LINK_LOCAL_SCOPE。 如果指定 PNRP_SCOPE_ANY ,則會傳回所有雲端。 否則,只會傳回符合 Cloud.Scope 的雲端。

enCloudState

保留的 必須是 0 (0) 。

dwControlFlags

PNRP 支援下列LUP_RETURN_* 旗標:

Description
LUP_RETURN_NAME 傳回名稱和內容。
LUP_RETURN_BLOB 傳回與此雲端相關聯的 BLOB

 

PNRP 和 BLOB

PNRP 和 WSALookupServiceEnd

PNRP 和 WSALookupServiceNext

PNRP 和 WSANSPIoctl

PNRP 和 WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

PNRP NSP 錯誤碼