SERVICE_ADDRESS structure (nspapi.h)

The SERVICE_ADDRESS structure contains address information for a service. The structure can accommodate many types of interprocess communications (IPC) mechanisms and their address forms, including remote procedure calls (RPC), named pipes, and sockets.

Syntax

typedef struct _SERVICE_ADDRESS {
  DWORD dwAddressType;
  DWORD dwAddressFlags;
  DWORD dwAddressLength;
  DWORD dwPrincipalLength;
#if ...
  BYTE  *lpAddress;
#else
  BYTE  *lpAddress;
#endif
#if ...
  BYTE  *lpPrincipal;
#else
  BYTE  *lpPrincipal;
#endif
} SERVICE_ADDRESS, *PSERVICE_ADDRESS, *LPSERVICE_ADDRESS;

Members

dwAddressType

Type: DWORD

The address family to which the socket address pointed to by lpAddress member belongs.

dwAddressFlags

Type: DWORD

A set of bit flags that specify properties of the address. The following bit flags are defined.

Value Meaning
SERVICE_ADDRESS_FLAG_RPC_CN
If this bit flag is set, the service supports connection-oriented RPC over this transport protocol.
SERVICE_ADDRESS_FLAG_RPC_DG
If this bit flag is set, the service supports datagram-oriented RPC over this transport protocol.
SERVICE_ADDRESS_FLAG_RPC_NB
If this bit flag is set, the service supports NetBIOS RPC over this transport protocol.

dwAddressLength

Type: DWORD

The size, in bytes, of the address.

dwPrincipalLength

Type: DWORD

Reserved for future use. Must be zero.

lpAddress

Type: BYTE*

A pointer to a socket address of the appropriate type.

lpPrincipal

Type: BYTE*

Reserved for future use. Must be NULL.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header nspapi.h

See also

SERVICE_ADDRESSES

SERVICE_INFO