Headers diff for p2p.dll between 6.0.6001.18000-Windows 6.0 and 6.1.7600.16385-Windows 7.0 versions



 p2p.h (6.0.6001.18000-Windows 6.0)   p2p.h (6.1.7600.16385-Windows 7.0) 
skipping to change at line 38 skipping to change at line 38
#ifndef _P2P_H_ #ifndef _P2P_H_
#define _P2P_H_ #define _P2P_H_
#ifndef MIDL_PASS #ifndef MIDL_PASS
#include <specstrings.h> #include <specstrings.h>
#include <winsock2.h> #include <winsock2.h>
#include <pnrpns.h> #include <pnrpns.h>
#include <ws2tcpip.h> // for sockaddrin_6 #include <ws2tcpip.h> // for sockaddrin_6
#endif #endif
#pragma warning(push)
#pragma warning(disable:4201) // nameless struct/union
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
#if NTDDI_VERSION < NTDDI_VISTA
#ifndef NO_P2P_PNRP
#define NO_P2P_PNRP //P2P PNRP is not available prior to NTDDI_VISTA
#endif // NO_P2P_PNRP
#ifndef NO_P2P_COLLABORATION
#define NO_P2P_COLLABORATION //P2P COLLABORATION is not available prior to NTDDI
_VISTA
#endif // NO_P2P_COLLABORATION
#endif // NTDDI_VERSION < NTDDI_VISTA
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Constants // Constants
typedef enum peer_record_change_type_tag { typedef enum peer_record_change_type_tag {
PEER_RECORD_ADDED = 1, PEER_RECORD_ADDED = 1,
PEER_RECORD_UPDATED = 2, PEER_RECORD_UPDATED = 2,
PEER_RECORD_DELETED = 3, PEER_RECORD_DELETED = 3,
PEER_RECORD_EXPIRED = 4, PEER_RECORD_EXPIRED = 4,
} PEER_RECORD_CHANGE_TYPE; } PEER_RECORD_CHANGE_TYPE;
skipping to change at line 149 skipping to change at line 164
PEER_RECORD_CHANGE_TYPE changeType; PEER_RECORD_CHANGE_TYPE changeType;
GUID recordId; GUID recordId;
GUID recordType; GUID recordType;
} PEER_EVENT_RECORD_CHANGE_DATA, * PPEER_EVENT_RECORD_CHANGE_DATA; } PEER_EVENT_RECORD_CHANGE_DATA, * PPEER_EVENT_RECORD_CHANGE_DATA;
typedef struct peer_event_connection_change_data_tag { typedef struct peer_event_connection_change_data_tag {
DWORD dwSize; DWORD dwSize;
PEER_CONNECTION_STATUS status; PEER_CONNECTION_STATUS status;
ULONGLONG ullConnectionId; ULONGLONG ullConnectionId;
ULONGLONG ullNodeId; ULONGLONG ullNodeId;
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
ULONGLONG ullNextConnectionId; ULONGLONG ullNextConnectionId;
HRESULT hrConnectionFailedReason; HRESULT hrConnectionFailedReason;
#endif #endif
} PEER_EVENT_CONNECTION_CHANGE_DATA, * PPEER_EVENT_CONNECTION_CHANGE_DATA; } PEER_EVENT_CONNECTION_CHANGE_DATA, * PPEER_EVENT_CONNECTION_CHANGE_DATA;
typedef struct peer_event_synchronized_data_tag { typedef struct peer_event_synchronized_data_tag {
DWORD dwSize; DWORD dwSize;
GUID recordType; GUID recordType;
} PEER_EVENT_SYNCHRONIZED_DATA, * PPEER_EVENT_SYNCHRONIZED_DATA; } PEER_EVENT_SYNCHRONIZED_DATA, * PPEER_EVENT_SYNCHRONIZED_DATA;
#ifndef MIDL_PASS #ifndef NO_P2P_GRAPH
#ifndef NO_P2P_GRAPH #ifndef MIDL_PASS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// G R A P H I N G // G R A P H I N G
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
typedef PVOID HGRAPH, *PHGRAPH; typedef PVOID HGRAPH, *PHGRAPH;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
skipping to change at line 280 skipping to change at line 295
__in_opt PVOID pvContext, __in_opt PVOID pvContext,
__in PPEER_RECORD pRecord, __in PPEER_RECORD pRecord,
__in PEER_RECORD_CHANGE_TYPE changeType, __in PEER_RECORD_CHANGE_TYPE changeType,
__deref_out PPEER_DATA * ppSecurityData); __deref_out PPEER_DATA * ppSecurityData);
typedef HRESULT (CALLBACK * PFNPEER_FREE_SECURITY_DATA)( typedef HRESULT (CALLBACK * PFNPEER_FREE_SECURITY_DATA)(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in_opt PVOID pvContext, __in_opt PVOID pvContext,
__in PPEER_DATA pSecurityData); __in PPEER_DATA pSecurityData);
typedef HRESULT (CALLBACK * PFNPEER_ON_PASSWORD_AUTH_FAILED)(
__in HGRAPH hGraph,
__in_opt PVOID pvContext);
typedef struct peer_security_interface_tag { typedef struct peer_security_interface_tag {
DWORD dwSize; DWORD dwSize;
PWSTR pwzSspFilename; PWSTR pwzSspFilename;
PWSTR pwzPackageName; PWSTR pwzPackageName;
ULONG cbSecurityInfo; ULONG cbSecurityInfo;
PBYTE pbSecurityInfo; PBYTE pbSecurityInfo;
PVOID pvContext; PVOID pvContext;
PFNPEER_VALIDATE_RECORD pfnValidateRecord; PFNPEER_VALIDATE_RECORD pfnValidateRecord;
PFNPEER_SECURE_RECORD pfnSecureRecord; PFNPEER_SECURE_RECORD pfnSecureRecord;
PFNPEER_FREE_SECURITY_DATA pfnFreeSecurityData; PFNPEER_FREE_SECURITY_DATA pfnFreeSecurityData;
PFNPEER_ON_PASSWORD_AUTH_FAILED pfnAuthFailed;
}PEER_SECURITY_INTERFACE, * PPEER_SECURITY_INTERFACE; }PEER_SECURITY_INTERFACE, * PPEER_SECURITY_INTERFACE;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// API Definitions // API Definitions
HRESULT WINAPI PeerGraphStartup( HRESULT WINAPI PeerGraphStartup(
__in WORD wVersionRequested, __in WORD wVersionRequested,
__out PPEER_VERSION_DATA pVersionData); __out PPEER_VERSION_DATA pVersionData);
HRESULT WINAPI PeerGraphShutdown(); HRESULT WINAPI PeerGraphShutdown();
skipping to change at line 323 skipping to change at line 343
HRESULT WINAPI PeerGraphEndEnumeration( HRESULT WINAPI PeerGraphEndEnumeration(
__in HPEERENUM hPeerEnum); __in HPEERENUM hPeerEnum);
HRESULT WINAPI PeerGraphCreate( HRESULT WINAPI PeerGraphCreate(
__in PPEER_GRAPH_PROPERTIES pGraphProperties, __in PPEER_GRAPH_PROPERTIES pGraphProperties,
__in PCWSTR pwzDatabaseName, __in PCWSTR pwzDatabaseName,
__in_opt PPEER_SECURITY_INTERFACE pSecurityInterface, __in_opt PPEER_SECURITY_INTERFACE pSecurityInterface,
__out HGRAPH * phGraph); __out HGRAPH * phGraph);
HRESULT WINAPI PeerGraphOpen( HRESULT WINAPI PeerGraphOpen(
__in PCWSTR pwzGraphId, __in PCWSTR pwzGraph
__in PCWSTR pwzPeerId, Id,
__in PCWSTR pwzDatabaseName, __in PCWSTR pwzPeerI
__in_opt PPEER_SECURITY_INTERFACE pSecurityInterfa d,
ce, __in PCWSTR pwzDatab
__in ULONG cRecordTypeSyncP aseName,
recedence, __in_opt PPEER_SECURITY_INTERFACE pSecurit
__in_ecount_opt(cRecordTypeSyncPrecedence) GUID * pRecordTypeSyn yInterface,
cPrecedence, __in ULONG cRecordT
__out HGRAPH * phGraph); ypeSyncPrecedence,
__in_ecount_opt(cRecordTypeSyncPrecedence) const GUID * pRecor
dTypeSyncPrecedence,
__out HGRAPH * phGrap
h);
HRESULT WINAPI PeerGraphListen( HRESULT WINAPI PeerGraphListen(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in_opt DWORD dwScope, __in_opt DWORD dwScope,
__in_opt DWORD dwScopeId, __in_opt DWORD dwScopeId,
__in_opt WORD wPort); __in_opt WORD wPort);
HRESULT WINAPI PeerGraphConnect( HRESULT WINAPI PeerGraphConnect(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in_opt PCWSTR pwzPeerId, __in_opt PCWSTR pwzPeerId,
skipping to change at line 382 skipping to change at line 402
HRESULT WINAPI PeerGraphUnregisterEvent( HRESULT WINAPI PeerGraphUnregisterEvent(
__in HPEEREVENT hPeerEvent); __in HPEEREVENT hPeerEvent);
HRESULT WINAPI PeerGraphGetEventData( HRESULT WINAPI PeerGraphGetEventData(
__in HPEEREVENT hPeerEvent, __in HPEEREVENT hPeerEvent,
__deref_out PPEER_GRAPH_EVENT_DATA * ppEventData); __deref_out PPEER_GRAPH_EVENT_DATA * ppEventData);
// Data Storage // Data Storage
HRESULT WINAPI PeerGraphGetRecord( HRESULT WINAPI PeerGraphGetRecord(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in GUID * pRecordId, __in const GUID * pRecordId,
__deref_out PPEER_RECORD * ppRecord); __deref_out PPEER_RECORD * ppRecord);
HRESULT WINAPI PeerGraphAddRecord( HRESULT WINAPI PeerGraphAddRecord(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PPEER_RECORD pRecord, __in PPEER_RECORD pRecord,
__out GUID * pRecordId); __out GUID * pRecordId);
HRESULT WINAPI PeerGraphUpdateRecord( HRESULT WINAPI PeerGraphUpdateRecord(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PPEER_RECORD pRecord); __in PPEER_RECORD pRecord);
HRESULT WINAPI PeerGraphDeleteRecord( HRESULT WINAPI PeerGraphDeleteRecord(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in GUID * pRecordId, __in const GUID * pRecordId,
__in BOOL fLocal); __in BOOL fLocal);
HRESULT WINAPI PeerGraphEnumRecords( HRESULT WINAPI PeerGraphEnumRecords(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in_opt GUID * pRecordType, __in_opt const GUID * pRecordType,
__in_opt PCWSTR pwzPeerId, __in_opt PCWSTR pwzPeerId,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerGraphSearchRecords( HRESULT WINAPI PeerGraphSearchRecords(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PCWSTR pwzCriteria, __in PCWSTR pwzCriteria,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerGraphExportDatabase( HRESULT WINAPI PeerGraphExportDatabase(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PCWSTR pwzFilePath); __in PCWSTR pwzFilePath);
HRESULT WINAPI PeerGraphImportDatabase( HRESULT WINAPI PeerGraphImportDatabase(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PCWSTR pwzFilePath); __in PCWSTR pwzFilePath);
HRESULT WINAPI PeerGraphValidateDeferredRecords( HRESULT WINAPI PeerGraphValidateDeferredRecords(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in ULONG cRecordIds, __in ULONG cRecordIds,
__in_ecount(cRecordIds) GUID * pRecordIds); __in_ecount(cRecordIds) const GUID * pRecordIds);
// Node/Connection interfaces // Node/Connection interfaces
HRESULT WINAPI PeerGraphOpenDirectConnection( HRESULT WINAPI PeerGraphOpenDirectConnection(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in PCWSTR pwzPeerId, __in PCWSTR pwzPeerId,
__in PPEER_ADDRESS pAddress, __in PPEER_ADDRESS pAddress,
__out ULONGLONG * pullConnectionId); __out ULONGLONG * pullConnectionId);
HRESULT WINAPI PeerGraphSendData( HRESULT WINAPI PeerGraphSendData(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in ULONGLONG ullConnectionId, __in ULONGLONG ullConnectionId,
__in GUID * pType, __in const GUID * pType,
__in ULONG cbData, __in ULONG cbData,
__in_bcount(cbData) PVOID pvData); __in_bcount(cbData) PVOID pvData);
HRESULT WINAPI PeerGraphCloseDirectConnection( HRESULT WINAPI PeerGraphCloseDirectConnection(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in ULONGLONG ullConnectionId); __in ULONGLONG ullConnectionId);
HRESULT WINAPI PeerGraphEnumConnections( HRESULT WINAPI PeerGraphEnumConnections(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in DWORD dwFlags, // PEER_CONNECTION_FLAGS __in DWORD dwFlags, // PEER_CONNECTION_FLAGS
skipping to change at line 476 skipping to change at line 496
HRESULT WINAPI PeerGraphPeerTimeToUniversalTime( HRESULT WINAPI PeerGraphPeerTimeToUniversalTime(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in FILETIME * pftPeerTime, __in FILETIME * pftPeerTime,
__out FILETIME * pftUniversalTime); __out FILETIME * pftUniversalTime);
HRESULT WINAPI PeerGraphUniversalTimeToPeerTime( HRESULT WINAPI PeerGraphUniversalTimeToPeerTime(
__in HGRAPH hGraph, __in HGRAPH hGraph,
__in FILETIME * pftUniversalTime, __in FILETIME * pftUniversalTime,
__out FILETIME * pftPeerTime); __out FILETIME * pftPeerTime);
#endif // MIDL_PASS
#endif // NO_P2P_GRAPH #endif // NO_P2P_GRAPH
#if (!(defined (NO_P2P_GROUP)) || (!defined (NO_P2P_IDENTITY))) #if (!(defined (NO_P2P_GROUP)) || (!defined (NO_P2P_IDENTITY)))
#ifndef MIDL_PASS
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// //
// Common APIs used by Grouping and the Identity Manager // Common APIs used by Grouping and the Identity Manager
// //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
#include <wincrypt.h> #include <wincrypt.h>
VOID WINAPI PeerFreeData( VOID WINAPI PeerFreeData(
__in_opt LPCVOID pvData); __in_opt LPCVOID pvData);
skipping to change at line 502 skipping to change at line 525
__out ULONG * pCount); __out ULONG * pCount);
HRESULT WINAPI PeerGetNextItem( HRESULT WINAPI PeerGetNextItem(
__in HPEERENUM hPeerEnum, __in HPEERENUM hPeerEnum,
__inout ULONG * pCount, __inout ULONG * pCount,
__deref_out_ecount(*pCount) PVOID ** pppvItems); __deref_out_ecount(*pCount) PVOID ** pppvItems);
HRESULT WINAPI PeerEndEnumeration( HRESULT WINAPI PeerEndEnumeration(
__in HPEERENUM hPeerEnum); __in HPEERENUM hPeerEnum);
#endif // MIDL_PASS
#endif #endif
#ifndef NO_P2P_GROUP #ifndef NO_P2P_GROUP
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// G R O U P I N G // G R O U P I N G
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
typedef PVOID HGROUP, *PHGROUP; typedef PVOID HGROUP, *PHGROUP;
typedef GUID PEER_ROLE_ID; typedef GUID PEER_ROLE_ID;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Constants // Constants
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
#define PEER_GROUP_VERSION MAKEWORD(1,1) #define PEER_GROUP_VERSION MAKEWORD(1,1)
#else #else
#define PEER_GROUP_VERSION MAKEWORD(1,0) #define PEER_GROUP_VERSION MAKEWORD(1,0)
#endif #endif
typedef enum peer_group_event_type_tag { typedef enum peer_group_event_type_tag {
PEER_GROUP_EVENT_STATUS_CHANGED = 1, PEER_GROUP_EVENT_STATUS_CHANGED = 1,
PEER_GROUP_EVENT_PROPERTY_CHANGED = 2, PEER_GROUP_EVENT_PROPERTY_CHANGED = 2,
PEER_GROUP_EVENT_RECORD_CHANGED = 3, PEER_GROUP_EVENT_RECORD_CHANGED = 3,
PEER_GROUP_EVENT_DIRECT_CONNECTION = 4, PEER_GROUP_EVENT_DIRECT_CONNECTION = 4,
PEER_GROUP_EVENT_NEIGHBOR_CONNECTION = 5, PEER_GROUP_EVENT_NEIGHBOR_CONNECTION = 5,
PEER_GROUP_EVENT_INCOMING_DATA = 6, PEER_GROUP_EVENT_INCOMING_DATA = 6,
PEER_GROUP_EVENT_MEMBER_CHANGED = 8, PEER_GROUP_EVENT_MEMBER_CHANGED = 8,
PEER_GROUP_EVENT_CONNECTION_FAILED = 10 PEER_GROUP_EVENT_CONNECTION_FAILED = 10,
PEER_GROUP_EVENT_AUTHENTICATION_FAILED = 11
} PEER_GROUP_EVENT_TYPE; } PEER_GROUP_EVENT_TYPE;
typedef enum peer_group_status_tag { typedef enum peer_group_status_tag {
PEER_GROUP_STATUS_LISTENING = 0x0001, PEER_GROUP_STATUS_LISTENING = 0x0001,
PEER_GROUP_STATUS_HAS_CONNECTIONS = 0x0002, PEER_GROUP_STATUS_HAS_CONNECTIONS = 0x0002,
} PEER_GROUP_STATUS; } PEER_GROUP_STATUS;
typedef enum peer_group_property_flags_tag { typedef enum peer_group_property_flags_tag {
PEER_MEMBER_DATA_OPTIONAL = 0x0001, PEER_MEMBER_DATA_OPTIONAL = 0x0001,
PEER_DISABLE_PRESENCE = 0x0002, PEER_DISABLE_PRESENCE = 0x0002,
PEER_DEFER_EXPIRATION = 0x0004, PEER_DEFER_EXPIRATION = 0x0004,
} PEER_GROUP_PROPERTY_FLAGS; } PEER_GROUP_PROPERTY_FLAGS;
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
typedef enum peer_group_authentication_scheme_tag { typedef enum peer_group_authentication_scheme_tag {
PEER_GROUP_GMC_AUTHENTICATION = 0x00000001, PEER_GROUP_GMC_AUTHENTICATION = 0x00000001,
PEER_GROUP_PASSWORD_AUTHENTICATION = 0x00000002, PEER_GROUP_PASSWORD_AUTHENTICATION = 0x00000002,
} PEER_GROUP_AUTHENTICATION_SCHEME; } PEER_GROUP_AUTHENTICATION_SCHEME;
#endif #endif
typedef enum peer_member_flags_tag { typedef enum peer_member_flags_tag {
PEER_MEMBER_PRESENT = 0x0001, PEER_MEMBER_PRESENT = 0x0001,
} PEER_MEMBER_FLAGS; } PEER_MEMBER_FLAGS;
skipping to change at line 572 skipping to change at line 597
PEER_MEMBER_LEFT = 5, PEER_MEMBER_LEFT = 5,
} PEER_MEMBER_CHANGE_TYPE; } PEER_MEMBER_CHANGE_TYPE;
typedef enum peer_issue_credential_flags_tag { typedef enum peer_issue_credential_flags_tag {
PEER_GROUP_STORE_CREDENTIALS = 0x0001, PEER_GROUP_STORE_CREDENTIALS = 0x0001,
} PEER_GROUP_ISSUE_CREDENTIAL_FLAGS; } PEER_GROUP_ISSUE_CREDENTIAL_FLAGS;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Structures // Structures
#ifndef MIDL_PASS
typedef struct peer_credential_info_tag typedef struct peer_credential_info_tag
{ {
DWORD dwSize; DWORD dwSize;
DWORD dwFlags; DWORD dwFlags;
PWSTR pwzFriendlyName; PWSTR pwzFriendlyName;
CERT_PUBLIC_KEY_INFO * pPublicKey; CERT_PUBLIC_KEY_INFO * pPublicKey;
PWSTR pwzIssuerPeerName; PWSTR pwzIssuerPeerName;
PWSTR pwzIssuerFriendlyName; PWSTR pwzIssuerFriendlyName;
FILETIME ftValidityStart; FILETIME ftValidityStart;
FILETIME ftValidityEnd; FILETIME ftValidityEnd;
skipping to change at line 597 skipping to change at line 624
DWORD dwSize; DWORD dwSize;
DWORD dwFlags; // PEER_MEMBER_FLAGS DWORD dwFlags; // PEER_MEMBER_FLAGS
PWSTR pwzIdentity; PWSTR pwzIdentity;
PWSTR pwzAttributes; PWSTR pwzAttributes;
ULONGLONG ullNodeId; ULONGLONG ullNodeId;
ULONG cAddresses; ULONG cAddresses;
__field_ecount(cAddresses) PEER_ADDRESS * pAddresses; __field_ecount(cAddresses) PEER_ADDRESS * pAddresses;
PEER_CREDENTIAL_INFO * pCredentialInfo; PEER_CREDENTIAL_INFO * pCredentialInfo;
} PEER_MEMBER, *PPEER_MEMBER; } PEER_MEMBER, *PPEER_MEMBER;
typedef struct peer_group_properties_tag {
DWORD dwSize;
DWORD dwFlags; // PEER_GROUP_PROPERTY_FLAGS
PWSTR pwzCloud;
PWSTR pwzClassifier;
PWSTR pwzGroupPeerName;
PWSTR pwzCreatorPeerName;
PWSTR pwzFriendlyName;
PWSTR pwzComment;
ULONG ulMemberDataLifetime;
ULONG ulPresenceLifetime;
#if NTDDI_VERSION >= NTDDI_LONGHORN
DWORD dwAuthenticationSchemes; // PEER_GROUP_AUTHENTICATION_SCHEM
E
// group password authentication data
PWSTR pwzGroupPassword;
PEER_ROLE_ID groupPasswordRole;
#endif
} PEER_GROUP_PROPERTIES, *PPEER_GROUP_PROPERTIES;
typedef struct peer_invitation_info_tag { typedef struct peer_invitation_info_tag {
DWORD dwSize; DWORD dwSize;
DWORD dwFlags; DWORD dwFlags;
PWSTR pwzCloudName; PWSTR pwzCloudName;
DWORD dwScope; DWORD dwScope;
DWORD dwCloudFlags; DWORD dwCloudFlags;
PWSTR pwzGroupPeerName; PWSTR pwzGroupPeerName;
PWSTR pwzIssuerPeerName; PWSTR pwzIssuerPeerName;
PWSTR pwzSubjectPeerName; PWSTR pwzSubjectPeerName;
PWSTR pwzGroupFriendlyName; PWSTR pwzGroupFriendlyName;
PWSTR pwzIssuerFriendlyName; PWSTR pwzIssuerFriendlyName;
PWSTR pwzSubjectFriendlyName; PWSTR pwzSubjectFriendlyName;
FILETIME ftValidityStart; FILETIME ftValidityStart;
FILETIME ftValidityEnd; FILETIME ftValidityEnd;
ULONG cRoles; ULONG cRoles;
PEER_ROLE_ID * pRoles; PEER_ROLE_ID * pRoles;
ULONG cClassifiers; ULONG cClassifiers;
PWSTR* ppwzClassifiers; PWSTR* ppwzClassifiers;
CERT_PUBLIC_KEY_INFO * pSubjectPublicKey; CERT_PUBLIC_KEY_INFO * pSubjectPublicKey;
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
PEER_GROUP_AUTHENTICATION_SCHEME authScheme; PEER_GROUP_AUTHENTICATION_SCHEME authScheme;
#endif #endif
} PEER_INVITATION_INFO, *PPEER_INVITATION_INFO; } PEER_INVITATION_INFO, *PPEER_INVITATION_INFO;
#endif // MIDL_PASS
//start
typedef struct peer_group_properties_tag {
DWORD dwSize;
DWORD dwFlags; // PEER_GROUP_PROPERTY_FLAGS
PWSTR pwzCloud;
PWSTR pwzClassifier;
PWSTR pwzGroupPeerName;
PWSTR pwzCreatorPeerName;
PWSTR pwzFriendlyName;
PWSTR pwzComment;
ULONG ulMemberDataLifetime;
ULONG ulPresenceLifetime;
#if NTDDI_VERSION >= NTDDI_VISTA
DWORD dwAuthenticationSchemes; // PEER_GROUP_AUTHENTICATION_SCHEM
E
// group password authentication data
PWSTR pwzGroupPassword;
PEER_ROLE_ID groupPasswordRole;
#endif
} PEER_GROUP_PROPERTIES, *PPEER_GROUP_PROPERTIES;
typedef struct peer_event_member_change_data_tag { typedef struct peer_event_member_change_data_tag {
DWORD dwSize; DWORD dwSize;
PEER_MEMBER_CHANGE_TYPE changeType; PEER_MEMBER_CHANGE_TYPE changeType;
PWSTR pwzIdentity; PWSTR pwzIdentity;
} PEER_EVENT_MEMBER_CHANGE_DATA, * PPEER_EVENT_MEMBER_CHANGE_DATA; } PEER_EVENT_MEMBER_CHANGE_DATA, * PPEER_EVENT_MEMBER_CHANGE_DATA;
typedef struct peer_group_event_registration_tag { typedef struct peer_group_event_registration_tag {
PEER_GROUP_EVENT_TYPE eventType; PEER_GROUP_EVENT_TYPE eventType;
GUID * pType; GUID * pType;
} PEER_GROUP_EVENT_REGISTRATION, *PPEER_GROUP_EVENT_REGISTRATION; } PEER_GROUP_EVENT_REGISTRATION, *PPEER_GROUP_EVENT_REGISTRATION;
typedef struct peer_group_event_data_tag { #ifdef MIDL_PASS
typedef struct peer_group_event_data_tag
{
PEER_GROUP_EVENT_TYPE eventType; PEER_GROUP_EVENT_TYPE eventType;
union { [switch_is(eventType)] union
{
[case(PEER_GROUP_EVENT_STATUS_CHANGED)]
PEER_GROUP_STATUS dwStatus;
[case(PEER_GROUP_EVENT_PROPERTY_CHANGED)]
;
[case(PEER_GROUP_EVENT_RECORD_CHANGED)]
PEER_EVENT_RECORD_CHANGE_DATA recordChangeData;
[case(PEER_GROUP_EVENT_NEIGHBOR_CONNECTION, PEER_GROUP_EVENT_DIRECT_CONN
ECTION)]
PEER_EVENT_CONNECTION_CHANGE_DATA connectionChangeData;
[case(PEER_GROUP_EVENT_INCOMING_DATA)]
PEER_EVENT_INCOMING_DATA incomingData;
[case(PEER_GROUP_EVENT_MEMBER_CHANGED)]
PEER_EVENT_MEMBER_CHANGE_DATA memberChangeData;
[case(PEER_GROUP_EVENT_CONNECTION_FAILED)]
HRESULT hrConnectionFailedReason;
[default]
;
};
} PEER_GROUP_EVENT_DATA, *PPEER_GROUP_EVENT_DATA;
#else // !MIDL_PASS
typedef struct peer_group_event_data_tag
{
PEER_GROUP_EVENT_TYPE eventType;
union
{
PEER_GROUP_STATUS dwStatus; PEER_GROUP_STATUS dwStatus;
PEER_EVENT_INCOMING_DATA incomingData; PEER_EVENT_INCOMING_DATA incomingData;
PEER_EVENT_RECORD_CHANGE_DATA recordChangeData; PEER_EVENT_RECORD_CHANGE_DATA recordChangeData;
PEER_EVENT_CONNECTION_CHANGE_DATA connectionChangeData; PEER_EVENT_CONNECTION_CHANGE_DATA connectionChangeData;
PEER_EVENT_MEMBER_CHANGE_DATA memberChangeData; PEER_EVENT_MEMBER_CHANGE_DATA memberChangeData;
HRESULT hrConnectionFailedReason; HRESULT hrConnectionFailedReason;
}; };
} PEER_GROUP_EVENT_DATA, *PPEER_GROUP_EVENT_DATA; } PEER_GROUP_EVENT_DATA, *PPEER_GROUP_EVENT_DATA;
#endif // MIDL_PASS
//end
typedef struct peer_name_pair_tag { typedef struct peer_name_pair_tag {
DWORD dwSize; DWORD dwSize;
PWSTR pwzPeerName; PWSTR pwzPeerName;
PWSTR pwzFriendlyName; PWSTR pwzFriendlyName;
} PEER_NAME_PAIR, * PPEER_NAME_PAIR; } PEER_NAME_PAIR, * PPEER_NAME_PAIR;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// API Definitions // API Definitions
#ifndef MIDL_PASS
HRESULT WINAPI PeerGroupStartup( HRESULT WINAPI PeerGroupStartup(
__in WORD wVersionRequested, __in WORD wVersionRequested,
__out PPEER_VERSION_DATA pVersionData); __out PPEER_VERSION_DATA pVersionData);
HRESULT WINAPI PeerGroupShutdown(); HRESULT WINAPI PeerGroupShutdown();
HRESULT WINAPI PeerGroupCreate( HRESULT WINAPI PeerGroupCreate(
__in PPEER_GROUP_PROPERTIES pProperties, __in PPEER_GROUP_PROPERTIES pProperties,
__out HGROUP * phGroup); __out HGROUP * phGroup);
skipping to change at line 694 skipping to change at line 757
__in PCWSTR pwzGroupPeerName, __in PCWSTR pwzGroupPeerName,
__in_opt PCWSTR pwzCloud, __in_opt PCWSTR pwzCloud,
__out HGROUP * phGroup); __out HGROUP * phGroup);
HRESULT WINAPI PeerGroupJoin( HRESULT WINAPI PeerGroupJoin(
__in PCWSTR pwzIdentity, __in PCWSTR pwzIdentity,
__in PCWSTR pwzInvitation, __in PCWSTR pwzInvitation,
__in_opt PCWSTR pwzCloud, __in_opt PCWSTR pwzCloud,
__out HGROUP * phGroup); __out HGROUP * phGroup);
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
HRESULT WINAPI PeerGroupPasswordJoin( HRESULT WINAPI PeerGroupPasswordJoin(
__in PCWSTR pwzIdentity, __in PCWSTR pwzIdentity,
__in PCWSTR pwzInvitation, __in PCWSTR pwzInvitation,
__in PCWSTR pwzPassword, __in PCWSTR pwzPassword,
__in_opt PCWSTR pwzCloud, __in_opt PCWSTR pwzCloud,
__out HGROUP * phGroup); __out HGROUP * phGroup);
#endif #endif
HRESULT WINAPI PeerGroupConnect( HRESULT WINAPI PeerGroupConnect(
__in HGROUP hGroup); __in HGROUP hGroup);
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
HRESULT WINAPI PeerGroupConnectByAddress( HRESULT WINAPI PeerGroupConnectByAddress(
__in HGROUP hGroup, __in HGROUP hGroup,
ULONG cAddresses, ULONG cAddresses,
__in_ecount(cAddresses) PPEER_ADDRESS pAddresses); __in_ecount(cAddresses) PPEER_ADDRESS pAddresses);
#endif #endif
HRESULT WINAPI PeerGroupClose( HRESULT WINAPI PeerGroupClose(
__in HGROUP hGroup); __in HGROUP hGroup);
HRESULT WINAPI PeerGroupDelete( HRESULT WINAPI PeerGroupDelete(
__in PCWSTR pwzIdentity, __in PCWSTR pwzIdentity,
__in PCWSTR pwzGroupPeerName); __in PCWSTR pwzGroupPeerName);
HRESULT WINAPI PeerGroupCreateInvitation( HRESULT WINAPI PeerGroupCreateInvitation(
__in HGROUP hGroup, __in HGROUP hGroup,
__in PCWSTR pwzIdentityInfo, __in PCWSTR pwzIdentityInfo,
__in_opt FILETIME * pftExpiration, __in_opt FILETIME * pftExpiration,
__in ULONG cRoles, __in ULONG cRoles,
__in_ecount_opt(cRoles) GUID * pRoles, __in_ecount_opt(cRoles) const GUID * pRoles,
__deref_out PWSTR * ppwzInvitation); __deref_out PWSTR * ppwzInvitation);
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
HRESULT WINAPI PeerGroupCreatePasswordInvitation( HRESULT WINAPI PeerGroupCreatePasswordInvitation(
__in HGROUP hGroup, __in HGROUP hGroup,
__deref_out PWSTR * ppwzInvitation); __deref_out PWSTR * ppwzInvitation);
#endif #endif
HRESULT WINAPI PeerGroupParseInvitation( HRESULT WINAPI PeerGroupParseInvitation(
__in PCWSTR pwzInvitation, __in PCWSTR pwzInvitation,
__deref_out PPEER_INVITATION_INFO * ppInvitationInfo); __deref_out PPEER_INVITATION_INFO * ppInvitationInfo);
HRESULT WINAPI PeerGroupGetStatus( HRESULT WINAPI PeerGroupGetStatus(
skipping to change at line 774 skipping to change at line 837
__in ULONGLONG ullConnectionId); __in ULONGLONG ullConnectionId);
HRESULT WINAPI PeerGroupEnumConnections( HRESULT WINAPI PeerGroupEnumConnections(
__in HGROUP hGroup, __in HGROUP hGroup,
__in DWORD dwFlags, // PEER_CONNECTION_FLAGS __in DWORD dwFlags, // PEER_CONNECTION_FLAGS
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerGroupSendData( HRESULT WINAPI PeerGroupSendData(
__in HGROUP hGroup, __in HGROUP hGroup,
__in ULONGLONG ullConnectionId, __in ULONGLONG ullConnectionId,
__in GUID * pType, __in const GUID * pType,
__in ULONG cbData, __in ULONG cbData,
__in_bcount(cbData) PVOID pvData); __in_bcount(cbData) PVOID pvData);
// Eventing interfaces // Eventing interfaces
HRESULT WINAPI PeerGroupRegisterEvent( HRESULT WINAPI PeerGroupRegisterEvent(
__in HGROUP hGroup, __in HGROUP hGroup,
__in HANDLE hEvent, __in HANDLE hEvent,
__in DWORD cEventRegistration, __in DWORD cEventRegistration,
__in_ecount(cEventRegistration) PEER_GROUP_EVENT_REGISTRATION * pEventRegistrations, __in_ecount(cEventRegistration) PEER_GROUP_EVENT_REGISTRATION * pEventRegistrations,
skipping to change at line 797 skipping to change at line 860
HRESULT WINAPI PeerGroupUnregisterEvent( HRESULT WINAPI PeerGroupUnregisterEvent(
__in HPEEREVENT hPeerEvent); __in HPEEREVENT hPeerEvent);
HRESULT WINAPI PeerGroupGetEventData( HRESULT WINAPI PeerGroupGetEventData(
__in HPEEREVENT hPeerEvent, __in HPEEREVENT hPeerEvent,
__deref_out PPEER_GROUP_EVENT_DATA * ppEventData); __deref_out PPEER_GROUP_EVENT_DATA * ppEventData);
// Data Storage // Data Storage
HRESULT WINAPI PeerGroupGetRecord( HRESULT WINAPI PeerGroupGetRecord(
__in HGROUP hGroup, __in HGROUP hGroup,
__in GUID * pRecordId, __in const GUID * pRecordId,
__deref_out PPEER_RECORD * ppRecord); __deref_out PPEER_RECORD * ppRecord);
HRESULT WINAPI PeerGroupAddRecord( HRESULT WINAPI PeerGroupAddRecord(
__in HGROUP hGroup, __in HGROUP hGroup,
__in PPEER_RECORD pRecord, __in PPEER_RECORD pRecord,
__out GUID * pRecordId); __out GUID * pRecordId);
HRESULT WINAPI PeerGroupUpdateRecord( HRESULT WINAPI PeerGroupUpdateRecord(
__in HGROUP hGroup, __in HGROUP hGroup,
__in PPEER_RECORD pRecord); __in PPEER_RECORD pRecord);
HRESULT WINAPI PeerGroupDeleteRecord( HRESULT WINAPI PeerGroupDeleteRecord(
__in HGROUP hGroup, __in HGROUP hGroup,
__in GUID * pRecordId); __in const GUID * pRecordId);
HRESULT WINAPI PeerGroupEnumRecords( HRESULT WINAPI PeerGroupEnumRecords(
__in HGROUP hGroup, __in HGROUP hGroup,
__in_opt GUID * pRecordType, __in_opt const GUID * pRecordType,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerGroupSearchRecords( HRESULT WINAPI PeerGroupSearchRecords(
__in HGROUP hGroup, __in HGROUP hGroup,
__in PCWSTR pwzCriteria, __in PCWSTR pwzCriteria,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerGroupExportDatabase( HRESULT WINAPI PeerGroupExportDatabase(
__in HGROUP hGroup, __in HGROUP hGroup,
__in PCWSTR pwzFilePath); __in PCWSTR pwzFilePath);
skipping to change at line 861 skipping to change at line 924
HRESULT WINAPI PeerGroupPeerTimeToUniversalTime( HRESULT WINAPI PeerGroupPeerTimeToUniversalTime(
__in HGROUP hGroup, __in HGROUP hGroup,
__in FILETIME * pftPeerTime, __in FILETIME * pftPeerTime,
__out FILETIME * pftUniversalTime); __out FILETIME * pftUniversalTime);
HRESULT WINAPI PeerGroupUniversalTimeToPeerTime( HRESULT WINAPI PeerGroupUniversalTimeToPeerTime(
__in HGROUP hGroup, __in HGROUP hGroup,
__in FILETIME * pftUniversalTime, __in FILETIME * pftUniversalTime,
__out FILETIME * pftPeerTime); __out FILETIME * pftPeerTime);
#if NTDDI_VERSION >= NTDDI_WIN7
HRESULT WINAPI PeerGroupResumePasswordAuthentication(
__in HGROUP hGroup,
__in HPEEREVENT hPeerEventHandle);
#endif
#endif // NIDL_PASS
#endif // NO_P2P_GROUP #endif // NO_P2P_GROUP
#ifndef NO_P2P_IDENTITY #ifndef NO_P2P_IDENTITY
#ifndef MIDL_PASS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// I D E N T I T Y // I D E N T I T Y
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// API Definitions // API Definitions
HRESULT WINAPI PeerIdentityCreate( HRESULT WINAPI PeerIdentityCreate(
skipping to change at line 923 skipping to change at line 995
__deref_out PWSTR * ppwzExportXML); __deref_out PWSTR * ppwzExportXML);
HRESULT WINAPI PeerIdentityImport( HRESULT WINAPI PeerIdentityImport(
__in PCWSTR pwzImportXML, __in PCWSTR pwzImportXML,
__in PCWSTR pwzPassword, __in PCWSTR pwzPassword,
__deref_out PWSTR * ppwzIdentity); __deref_out PWSTR * ppwzIdentity);
HRESULT WINAPI PeerIdentityGetDefault( HRESULT WINAPI PeerIdentityGetDefault(
__deref_out PWSTR * ppwzPeerName); __deref_out PWSTR * ppwzPeerName);
#endif // NO_P2P_IDENTITY
#endif // MIDL_PASS #endif // MIDL_PASS
#endif // NO_P2P_IDENTITY
#ifndef NO_P2P_COLLABORATION #ifndef NO_P2P_COLLABORATION
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// C O L L A B O R A T I O N // C O L L A B O R A T I O N
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#define PEER_COLLAB_VERSION MAKEWORD(1,0) #define PEER_COLLAB_VERSION MAKEWORD(1,0)
skipping to change at line 1129 skipping to change at line 1201
// AppInvite receiver side API's // AppInvite receiver side API's
HRESULT WINAPI PeerCollabGetAppLaunchInfo( HRESULT WINAPI PeerCollabGetAppLaunchInfo(
__deref_out PPEER_APP_LAUNCH_INFO * ppLaunchInfo); __deref_out PPEER_APP_LAUNCH_INFO * ppLaunchInfo);
// Applications registration API's // Applications registration API's
HRESULT WINAPI PeerCollabRegisterApplication( HRESULT WINAPI PeerCollabRegisterApplication(
__in PCPEER_APPLICATION_REGISTRATION_INFO pcApplication, __in PCPEER_APPLICATION_REGISTRATION_INFO pcApplication,
__in PEER_APPLICATION_REGISTRATION_TYPE registrationType ); __in PEER_APPLICATION_REGISTRATION_TYPE registrationType );
HRESULT WINAPI PeerCollabUnregisterApplication( HRESULT WINAPI PeerCollabUnregisterApplication(
__in GUID * pApplicationId , __in const GUID * pApplicationId ,
__in PEER_APPLICATION_REGISTRATION_TYPE registrationType ); __in PEER_APPLICATION_REGISTRATION_TYPE registrationType );
HRESULT WINAPI PeerCollabGetApplicationRegistrationInfo( HRESULT WINAPI PeerCollabGetApplicationRegistrationInfo(
__in GUID * pAppli cationId, __in const GUID * pAppli cationId,
__in PEER_APPLICATION_REGISTRATION_TYPE registra tionType, __in PEER_APPLICATION_REGISTRATION_TYPE registra tionType,
__deref_out PPEER_APPLICATION_REGISTRATION_INFO * ppAppl ication); __deref_out PPEER_APPLICATION_REGISTRATION_INFO * ppAppl ication);
HRESULT WINAPI PeerCollabEnumApplicationRegistrationInfo( HRESULT WINAPI PeerCollabEnumApplicationRegistrationInfo(
__in PEER_APPLICATION_REGISTRATION_TYPE registrationTy pe, __in PEER_APPLICATION_REGISTRATION_TYPE registrationTy pe,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
#endif // MIDL_PASS #endif // MIDL_PASS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
skipping to change at line 1182 skipping to change at line 1254
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// API's // API's
// Subscriber // Subscriber
HRESULT WINAPI PeerCollabGetPresenceInfo( HRESULT WINAPI PeerCollabGetPresenceInfo(
__in_opt PCPEER_ENDPOINT pcEndpoint, __in_opt PCPEER_ENDPOINT pcEndpoint,
__deref_out PPEER_PRESENCE_INFO *ppPresenceInfo); __deref_out PPEER_PRESENCE_INFO *ppPresenceInfo);
HRESULT WINAPI PeerCollabEnumApplications( HRESULT WINAPI PeerCollabEnumApplications(
__in_opt PCPEER_ENDPOINT pcEndpoint, __in_opt PCPEER_ENDPOINT pcEndpoint,
__in_opt GUID * pApplicationId, __in_opt const GUID * pApplicationId,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerCollabEnumObjects( HRESULT WINAPI PeerCollabEnumObjects(
__in_opt PCPEER_ENDPOINT pcEndpoint, __in_opt PCPEER_ENDPOINT pcEndpoint,
__in_opt GUID * pObjectId, __in_opt const GUID * pObjectId,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerCollabEnumEndpoints( HRESULT WINAPI PeerCollabEnumEndpoints(
__in_opt PCPEER_CONTACT pcContact, __in_opt PCPEER_CONTACT pcContact,
__out HPEERENUM * phPeerEnum); __out HPEERENUM * phPeerEnum);
HRESULT WINAPI PeerCollabRefreshEndpointData( HRESULT WINAPI PeerCollabRefreshEndpointData(
__in PCPEER_ENDPOINT pcEndpoint); __in PCPEER_ENDPOINT pcEndpoint);
HRESULT WINAPI PeerCollabDeleteEndpointData( HRESULT WINAPI PeerCollabDeleteEndpointData(
skipping to change at line 1225 skipping to change at line 1297
HRESULT WINAPI PeerCollabGetEndpointName( HRESULT WINAPI PeerCollabGetEndpointName(
__deref_out PWSTR * ppwzEndpointName); __deref_out PWSTR * ppwzEndpointName);
HRESULT WINAPI PeerCollabSetEndpointName( HRESULT WINAPI PeerCollabSetEndpointName(
__in PCWSTR pwzEndpointName); __in PCWSTR pwzEndpointName);
HRESULT WINAPI PeerCollabSetObject( HRESULT WINAPI PeerCollabSetObject(
__in PCPEER_OBJECT pcObject); __in PCPEER_OBJECT pcObject);
HRESULT WINAPI PeerCollabDeleteObject( HRESULT WINAPI PeerCollabDeleteObject(
__in GUID * pObjectId); __in const GUID * pObjectId);
#endif #endif
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// R E G I S T R A T I O N // R E G I S T R A T I O N
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
skipping to change at line 1642 skipping to change at line 1714
#define PEER_E_INVITE_RESPONSE_NOT_AVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7001) #define PEER_E_INVITE_RESPONSE_NOT_AVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7001)
// Serverless presence error codes // Serverless presence error codes
#define PEER_E_NOT_SIGNED_IN MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7003) #define PEER_E_NOT_SIGNED_IN MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7003)
#define PEER_E_PRIVACY_DECLINED MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7004) #define PEER_E_PRIVACY_DECLINED MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7004)
#define PEER_E_TIMEOUT MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7005) #define PEER_E_TIMEOUT MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x7005)
#define PEER_E_INVALID_ADDRESS MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7007) #define PEER_E_INVALID_ADDRESS MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7007)
#define PEER_E_FW_EXCEPTION_DISABLED MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7008) #define PEER_E_FW_EXCEPTION_DISABLED MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7008)
#define PEER_E_FW_BLOCKED_BY_POLICY MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7009) #define PEER_E_FW_BLOCKED_BY_POLICY MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X7009)
#define PEER_E_FW_BLOCKED_BY_SHIELDS_UP MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X700A) #define PEER_E_FW_BLOCKED_BY_SHIELDS_UP MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0X700A)
#define PEER_E_FW_DECLINED MAKE_HRESULT(SEVERITY_ERROR, FAC ILITY_P2P, 0x700B)
// //
// WSA_PNRP_* error codes returned by the NSP // WSA_PNRP_* error codes returned by the NSP
// //
// These errors are only used by PNRP NSP and applications using the NSP. // These errors are only used by PNRP NSP and applications using the NSP.
// Any usage from other system/apps not related to PNRP (for example PNRP based getaddrinfo // Any usage from other system/apps not related to PNRP (for example PNRP based getaddrinfo
// implementations) would require these errors be moved to winerror.h // implementations) would require these errors be moved to winerror.h
#define WSA_PNRP_ERROR_BASE 11500 #define WSA_PNRP_ERROR_BASE 11500
#define WSA_PNRP_CLOUD_NOT_FOUND (WSA_PNRP_ERROR_BASE + 1) #define WSA_PNRP_CLOUD_NOT_FOUND (WSA_PNRP_ERROR_BASE + 1)
#define WSA_PNRP_CLOUD_DISABLED (WSA_PNRP_ERROR_BASE + 2) #define WSA_PNRP_CLOUD_DISABLED (WSA_PNRP_ERROR_BASE + 2)
#define WSA_PNRP_INVALID_IDENTITY (WSA_PNRP_ERROR_BASE + 3) #define WSA_PNRP_INVALID_IDENTITY (WSA_PNRP_ERROR_BASE + 3)
#define WSA_PNRP_TOO_MUCH_LOAD (WSA_PNRP_ERROR_BASE + 4) #define WSA_PNRP_TOO_MUCH_LOAD (WSA_PNRP_ERROR_BASE + 4)
#define WSA_PNRP_CLOUD_IS_SEARCH_ONLY (WSA_PNRP_ERROR_BASE + 5) #define WSA_PNRP_CLOUD_IS_SEARCH_ONLY (WSA_PNRP_ERROR_BASE + 5)
#define WSA_PNRP_CLIENT_INVALID_COMPARTMENT_ID (WSA_PNRP_ERROR_BASE + 6) #define WSA_PNRP_CLIENT_INVALID_COMPARTMENT_ID (WSA_PNRP_ERROR_BASE + 6)
#define WSA_PNRP_DUPLICATE_PEER_NAME (WSA_PNRP_ERROR_BASE + 8) #define WSA_PNRP_DUPLICATE_PEER_NAME (WSA_PNRP_ERROR_BASE + 8)
#define WSA_PNRP_CLOUD_IS_DEAD (WSA_PNRP_ERROR_BASE + 9)
//
// these are the HRESULTs corresponding to the WSA error codes above and ret
urned by Grouping and Simple API
//
#define PEER_E_CLOUD_NOT_FOUND MAKE_HRESULT(SEVERITY_ERROR,
FACILITY_WIN32, WSA_PNRP_CLOUD_NOT_FOUND)
#define PEER_E_CLOUD_DISABLED MAKE_HRESULT(SEVERITY_ERROR, F
ACILITY_WIN32, WSA_PNRP_CLOUD_DISABLED)
#define PEER_E_INVALID_IDENTITY MAKE_HRESULT(SEVERITY_ERROR,
FACILITY_WIN32, WSA_PNRP_INVALID_IDENTITY)
#define PEER_E_TOO_MUCH_LOAD MAKE_HRESULT(SEVERITY_ERROR, F
ACILITY_WIN32, WSA_PNRP_TOO_MUCH_LOAD)
#define PEER_E_CLOUD_IS_SEARCH_ONLY MAKE_HRESULT(SEVERITY_
ERROR, FACILITY_WIN32, WSA_PNRP_CLOUD_IS_SEARCH_ONLY)
#define PEER_E_CLIENT_INVALID_COMPARTMENT_ID MAKE_HRESULT(S
EVERITY_ERROR, FACILITY_WIN32, WSA_PNRP_CLIENT_INVALID_COMPARTMENT_ID)
#define PEER_E_DUPLICATE_PEER_NAME MAKE_HRESULT(SEVERITY_E
RROR, FACILITY_WIN32, WSA_PNRP_DUPLICATE_PEER_NAME)
#define PEER_E_CLOUD_IS_DEAD MAKE_HRESULT(SEVERITY_ERROR,
FACILITY_WIN32, WSA_PNRP_CLOUD_IS_DEAD)
// //
// these are the error codes that are not defined by winerror.h, so we define th em as our own // these are the error codes that are not defined by winerror.h, so we define th em as our own
// //
#define PEER_E_NOT_FOUND MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_NOT_FOUND) #define PEER_E_NOT_FOUND MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_NOT_FOUND)
#define PEER_E_DISK_FULL MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_DISK_FULL) #define PEER_E_DISK_FULL MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_DISK_FULL)
#define PEER_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_ALREADY_EXISTS) #define PEER_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILI TY_WIN32, ERROR_ALREADY_EXISTS)
#pragma warning(pop)
#endif // _P2P_H_ #endif // _P2P_H_
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// These GUIDs are outside conditional includes so you can // These GUIDs are outside conditional includes so you can
// #include <p2p.h> in precompiled header // #include <p2p.h> in precompiled header
// then // then
// #include <initguid.h> in a single source file // #include <initguid.h> in a single source file
// #include <p2p.h> in that source file a second time to instantiate the GUI Ds // #include <p2p.h> in that source file a second time to instantiate the GUI Ds
#ifdef DEFINE_GUID #ifdef DEFINE_GUID
#ifndef NO_P2P_GROUP #ifndef NO_P2P_GROUP
DEFINE_GUID(PEER_GROUP_ROLE_ADMIN, /* 04387127-aa56-450a-8ce5-4f565c6790f4 */ DEFINE_GUID(PEER_GROUP_ROLE_ADMIN, /* 04387127-aa56-450a-8ce5-4f565c6790f4 */
0x04387127, 0xaa56, 0x450a, 0x8c, 0xe5, 0x4f, 0x56, 0x5c, 0x67, 0x90, 0xf4); 0x04387127, 0xaa56, 0x450a, 0x8c, 0xe5, 0x4f, 0x56, 0x5c, 0x67, 0x90, 0xf4);
DEFINE_GUID(PEER_GROUP_ROLE_MEMBER, /* f12dc4c7-0857-4ca0-93fc-b1bb19a3d8c2 */ DEFINE_GUID(PEER_GROUP_ROLE_MEMBER, /* f12dc4c7-0857-4ca0-93fc-b1bb19a3d8c2 */
0xf12dc4c7, 0x0857, 0x4ca0, 0x93, 0xfc, 0xb1, 0xbb, 0x19, 0xa3, 0xd8, 0xc2); 0xf12dc4c7, 0x0857, 0x4ca0, 0x93, 0xfc, 0xb1, 0xbb, 0x19, 0xa3, 0xd8, 0xc2);
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
DEFINE_GUID(PEER_GROUP_ROLE_INVITING_MEMBER, /* 4370fd89-dc18-4cfb-8dbf-9853a8a9 f905 */ DEFINE_GUID(PEER_GROUP_ROLE_INVITING_MEMBER, /* 4370fd89-dc18-4cfb-8dbf-9853a8a9 f905 */
0x4370fd89, 0xdc18, 0x4cfb, 0x8d, 0xbf, 0x98, 0x53, 0xa8, 0xa9, 0xf9, 0x05); 0x4370fd89, 0xdc18, 0x4cfb, 0x8d, 0xbf, 0x98, 0x53, 0xa8, 0xa9, 0xf9, 0x05);
#endif #endif
#endif // NO_P2P_GROUP #endif // NO_P2P_GROUP
#ifndef NO_P2P_COLLABORATION #ifndef NO_P2P_COLLABORATION
DEFINE_GUID(PEER_COLLAB_OBJECTID_USER_PICTURE, /* dd15f41f-fc4e-4922-b035-4c06a7 54d01d */ DEFINE_GUID(PEER_COLLAB_OBJECTID_USER_PICTURE, /* dd15f41f-fc4e-4922-b035-4c06a7 54d01d */
0xdd15f41f, 0xfc4e, 0x4922, 0xb0, 0x35, 0x4c, 0x06, 0xa7, 0x54, 0xd0, 0x1d); 0xdd15f41f, 0xfc4e, 0x4922, 0xb0, 0x35, 0x4c, 0x06, 0xa7, 0x54, 0xd0, 0x1d);
#endif #endif
 End of changes. 48 change blocks. 
73 lines changed or deleted 176 lines changed or added

This html diff was produced by rfcdiff 1.41.