1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 #ifndef _PNRPNS_H_ 6 #define _PNRPNS_H_ 7 8 #include <winapifamily.h> 9 10 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 11 12 #include "pnrpdef.h" 13 14 #ifndef NS_PNRPNAME 15 #define NS_PNRPNAME (38) 16 #endif 17 18 #ifndef NS_PNRPCLOUD 19 #define NS_PNRPCLOUD (39) 20 #endif 21 22 #define PNRPINFO_HINT 0x1 23 24 typedef struct _PNRPINFO_V1 { 25 DWORD dwSize; 26 LPWSTR lpwszIdentity; 27 DWORD nMaxResolve; 28 DWORD dwTimeout; 29 DWORD dwLifetime; 30 PNRP_RESOLVE_CRITERIA enResolveCriteria; 31 DWORD dwFlags; 32 SOCKET_ADDRESS saHint; 33 PNRP_REGISTERED_ID_STATE enNameState; 34 } PNRPINFO_V1,*PPNRPINFO_V1; 35 36 typedef struct _PNRPINFO_V2 { 37 DWORD dwSize; 38 LPWSTR lpwszIdentity; 39 DWORD nMaxResolve; 40 DWORD dwTimeout; 41 DWORD dwLifetime; 42 PNRP_RESOLVE_CRITERIA enResolveCriteria; 43 DWORD dwFlags; 44 SOCKET_ADDRESS saHint; 45 PNRP_REGISTERED_ID_STATE enNameState; 46 PNRP_EXTENDED_PAYLOAD_TYPE enExtendedPayloadType; 47 __C89_NAMELESS union { 48 BLOB blobPayload; 49 PWSTR pwszPayload; 50 }; 51 } PNRPINFO_V2,*PPNRPINFO_V2; 52 53 #ifdef PNRP_USE_V1_API 54 typedef PNRPINFO_V1 PNRPINFO; 55 typedef PPNRPINFO_V1 PPNRPINFO; 56 #else 57 typedef PNRPINFO_V2 PNRPINFO; 58 typedef PPNRPINFO_V2 PPNRPINFO; 59 #endif 60 61 typedef struct _PNRPCLOUDINFO { 62 DWORD dwSize; 63 PNRP_CLOUD_ID Cloud; 64 PNRP_CLOUD_STATE enCloudState; 65 PNRP_CLOUD_FLAGS enCloudFlags; 66 } PNRPCLOUDINFO,*PPNRPCLOUDINFO; 67 68 #endif 69 #endif 70 71 #ifdef DEFINE_GUID 72 DEFINE_GUID (NS_PROVIDER_PNRPNAME, 0x03fe89cd, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d); 73 DEFINE_GUID (NS_PROVIDER_PNRPCLOUD, 0x03fe89ce, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d); 74 DEFINE_GUID (SVCID_PNRPCLOUD, 0xc2239ce6, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a); 75 DEFINE_GUID (SVCID_PNRPNAME_V1, 0xc2239ce5, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a); 76 DEFINE_GUID (SVCID_PNRPNAME_V2, 0xc2239ce7, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a); 77 #ifdef PNRP_USE_V1_API 78 #define SVCID_PNRPNAME SVCID_PNRPNAME_V1 79 #else 80 #define SVCID_PNRPNAME SVCID_PNRPNAME_V2 81 #endif 82 #endif 83