pnrpns.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. #include <winapifamily.h>
  8. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
  9. #include "pnrpdef.h"
  10. #ifndef NS_PNRPNAME
  11. #define NS_PNRPNAME (38)
  12. #endif
  13. #ifndef NS_PNRPCLOUD
  14. #define NS_PNRPCLOUD (39)
  15. #endif
  16. #define PNRPINFO_HINT 0x1
  17. typedef struct _PNRPINFO_V1 {
  18. DWORD dwSize;
  19. LPWSTR lpwszIdentity;
  20. DWORD nMaxResolve;
  21. DWORD dwTimeout;
  22. DWORD dwLifetime;
  23. PNRP_RESOLVE_CRITERIA enResolveCriteria;
  24. DWORD dwFlags;
  25. SOCKET_ADDRESS saHint;
  26. PNRP_REGISTERED_ID_STATE enNameState;
  27. } PNRPINFO_V1,*PPNRPINFO_V1;
  28. typedef struct _PNRPINFO_V2 {
  29. DWORD dwSize;
  30. LPWSTR lpwszIdentity;
  31. DWORD nMaxResolve;
  32. DWORD dwTimeout;
  33. DWORD dwLifetime;
  34. PNRP_RESOLVE_CRITERIA enResolveCriteria;
  35. DWORD dwFlags;
  36. SOCKET_ADDRESS saHint;
  37. PNRP_REGISTERED_ID_STATE enNameState;
  38. PNRP_EXTENDED_PAYLOAD_TYPE enExtendedPayloadType;
  39. __C89_NAMELESS union {
  40. BLOB blobPayload;
  41. PWSTR pwszPayload;
  42. };
  43. } PNRPINFO_V2,*PPNRPINFO_V2;
  44. #ifdef PNRP_USE_V1_API
  45. typedef PNRPINFO_V1 PNRPINFO;
  46. typedef PPNRPINFO_V1 PPNRPINFO;
  47. #else
  48. typedef PNRPINFO_V2 PNRPINFO;
  49. typedef PPNRPINFO_V2 PPNRPINFO;
  50. #endif
  51. typedef struct _PNRPCLOUDINFO {
  52. DWORD dwSize;
  53. PNRP_CLOUD_ID Cloud;
  54. PNRP_CLOUD_STATE enCloudState;
  55. PNRP_CLOUD_FLAGS enCloudFlags;
  56. } PNRPCLOUDINFO,*PPNRPCLOUDINFO;
  57. #endif
  58. #endif
  59. #ifdef DEFINE_GUID
  60. DEFINE_GUID (NS_PROVIDER_PNRPNAME, 0x03fe89cd, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
  61. DEFINE_GUID (NS_PROVIDER_PNRPCLOUD, 0x03fe89ce, 0x766d, 0x4976, 0xb9, 0xc1, 0xbb, 0x9b, 0xc4, 0x2c, 0x7b, 0x4d);
  62. DEFINE_GUID (SVCID_PNRPCLOUD, 0xc2239ce6, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
  63. DEFINE_GUID (SVCID_PNRPNAME_V1, 0xc2239ce5, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
  64. DEFINE_GUID (SVCID_PNRPNAME_V2, 0xc2239ce7, 0x00c0, 0x4fbf, 0xba, 0xd6, 0x18, 0x13, 0x93, 0x85, 0xa4, 0x9a);
  65. #ifdef PNRP_USE_V1_API
  66. #define SVCID_PNRPNAME SVCID_PNRPNAME_V1
  67. #else
  68. #define SVCID_PNRPNAME SVCID_PNRPNAME_V2
  69. #endif
  70. #endif