Compartilhar via


estrutura NSPV2_ROUTINE (ws2spi.h)

A estrutura NSPV2_ROUTINE contém informações sobre as funções implementadas por um provedor de provedor de serviços de namespace versão 2 (NSPv2).

Nota A estrutura do arquivo de cabeçalho Ws2spi.h contém protótipos completos para todos os ponteiros de função NSPV2.

 

Sintaxe

typedef struct _NSPV2_ROUTINE {
  DWORD                       cbSize;
  DWORD                       dwMajorVersion;
  DWORD                       dwMinorVersion;
  LPNSPV2STARTUP              NSPv2Startup;
  LPNSPV2CLEANUP              NSPv2Cleanup;
  LPNSPV2LOOKUPSERVICEBEGIN   NSPv2LookupServiceBegin;
  LPNSPV2LOOKUPSERVICENEXTEX  NSPv2LookupServiceNextEx;
  LPNSPV2LOOKUPSERVICEEND     NSPv2LookupServiceEnd;
  LPNSPV2SETSERVICEEX         NSPv2SetServiceEx;
  LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;

Membros

cbSize

Tipo: DWORD

Especifica o tamanho, em bytes, da estrutura.

dwMajorVersion

Tipo: DWORD

A versão principal da especificação do provedor de serviços compatível com esse provedor.

dwMinorVersion

Tipo: DWORD

A versão secundária da especificação do provedor de serviços compatível com esse provedor.

NSPv2Startup

Tipo: ** LPNSPV2STARTUP**

Um ponteiro para a função NSPv2Startup para esse provedor NSPv2.

NSPv2Cleanup

Tipo: LPNSPV2CLEANUP

Um ponteiro para a função NSPv2Cleanup para esse provedor NSPv2.

NSPv2LookupServiceBegin

Tipo: LPNSPV2LOOKUPSERVICEBEGIN

Um ponteiro para a função NSPv2LookupServiceBegin para esse provedor NSPv2.

NSPv2LookupServiceNextEx

Tipo: LPNSPV2LOOKUPSERVICENEXTEX

Um ponteiro para a função NSPv2LookupServiceNextEx para esse provedor NSPv2.

NSPv2LookupServiceEnd

Tipo: LPNSPV2LOOKUPSERVICEEND

Um ponteiro para a função NSPv2LookupServiceEnd para esse provedor NSPv2.

NSPv2SetServiceEx

Tipo: LPNSPV2SETSERVICEEX

Um ponteiro para a função NSPv2SetServiceEx para esse provedor NSPv2.

NSPv2ClientSessionRundown

Tipo: LPNSPV2CLIENTSESSIONRUNDOWN

Um ponteiro para a função NSPv2ClientSessionRundown para esse provedor NSPv2.

Comentários

A estrutura NSPV2_ROUTINE é usada como parte da arquitetura do provedor de serviços de namespace versão 2 (NSPv2) disponível no Windows Vista e posterior.

No Windows Vista e no Windows Server 2008, a estrutura NSPV2_ROUTINE só pode ser usada para operações em provedores de namespace NS_EMAIL.

A função WSAAdvertiseProvider anuncia uma instância de um provedor NSPv2 para que os clientes encontrem. O chamador WSAAdvertiseProvider passa um ponteiro para uma estrutura NSPV2_ROUTINE no parâmetro pNSPv2Routine com os pontos de entrada NSPv2 compatíveis com o provedor.

Um provedor NSPv2 é necessário para implementar as seguintes funções:

NSPv2LookupServiceBegin

- NSPv2LookupServiceNextEx

- NSPv2LookupServiceEnd

Todas as outras funções são opcionais, dependendo dos requisitos do provedor NSPv2.

Se uma função não for implementada, as chamadas para essa função deverão ser interceptadas por uma função stub que retorna WSAEOPNOTSUPP. O ponteiro da função NSPv2 para a função não simplificada na estrutura NSPV2_ROUTINE deve apontar para a função stub.

Em geral, os provedores NSPv2 são implementados em processos diferentes dos aplicativos de chamada. Os provedores NSPv2 não são ativados como resultado da atividade do cliente. Cada aplicativo de hospedagem do provedor decide quando disponibilizar ou não um provedor específico chamando as funções WSAAdvertiseProvider e WSAUnadvertiseProvider . A atividade do cliente só resulta em tentativas de entrar em contato com o provedor, quando disponível (quando o provedor de namespace é anunciado).

Um processo pode implementar e anunciar vários provedores ao mesmo tempo. O Windows Sockets gerenciará os provedores de namespace expedindo chamadas para o correto. Ele também ocultará os detalhes da interface RPC e converterá chamadas entre processos em chamadas em processo. Para que o provedor NSPv2 tenha apenas que implementar uma tabela de funções de ponto de entrada semelhante à estrutura de NSP_ROUTINE usada por um provedor NSPv1. Um provedor NSPv2 não precisa se preocupar com requisitos específicos do RPC (marshaling de dados e serialização, por exemplo).

A função WSAUnadvertiseProvider torna um provedor de namespace específico não mais disponível para clientes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho ws2spi.h

Confira também

NSP_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAAdvertiseProvider

WSAProviderCompleteAsyncCall

WSAQUERYSET2

WSAUnadvertiseProvider