estructura NSPV2_ROUTINE (ws2spi.h)
La estructura NSPV2_ROUTINE contiene información sobre las funciones implementadas por un proveedor de servicios de espacio de nombres versión 2 (NSPv2).
Sintaxis
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;
Miembros
cbSize
Tipo: DWORD
Tamaño, en bytes, de la estructura.
dwMajorVersion
Tipo: DWORD
La versión principal de la especificación del proveedor de servicios compatible con este proveedor.
dwMinorVersion
Tipo: DWORD
La versión secundaria de la especificación del proveedor de servicios compatible con este proveedor.
NSPv2Startup
Tipo: ** LPNSPV2STARTUP**
Puntero a la función NSPv2Startup para este proveedor NSPv2.
NSPv2Cleanup
Tipo: LPNSPV2CLEANUP
Puntero a la función NSPv2Cleanup para este proveedor NSPv2.
NSPv2LookupServiceBegin
Tipo: LPNSPV2LOOKUPSERVICEBEGIN
Puntero a la función NSPv2LookupServiceBegin para este proveedor NSPv2.
NSPv2LookupServiceNextEx
Tipo: LPNSPV2LOOKUPSERVICENEXTEX
Puntero a la función NSPv2LookupServiceNextEx para este proveedor NSPv2.
NSPv2LookupServiceEnd
Tipo: LPNSPV2LOOKUPSERVICEEND
Puntero a la función NSPv2LookupServiceEnd para este proveedor NSPv2.
NSPv2SetServiceEx
Tipo: LPNSPV2SETSERVICEEX
Puntero a la función NSPv2SetServiceEx para este proveedor NSPv2.
NSPv2ClientSessionRundown
Tipo: LPNSPV2CLIENTSESSIONRUNDOWN
Puntero a la función NSPv2ClientSessionRundown para este proveedor NSPv2.
Comentarios
La estructura de NSPV2_ROUTINE se usa como parte de la arquitectura del proveedor de servicios de espacio de nombres versión 2 (NSPv2) disponible en Windows Vista y versiones posteriores.
En Windows Vista y Windows Server 2008, la estructura NSPV2_ROUTINE solo se puede usar para las operaciones en proveedores de espacio de nombres NS_EMAIL.
La función WSAAdvertiseProvider anuncia una instancia de un proveedor NSPv2 para que los clientes encuentren. El llamador WSAAdvertiseProvider pasa un puntero a una estructura de NSPV2_ROUTINE en el parámetro pNSPv2Routine con los puntos de entrada NSPv2 admitidos por el proveedor.
Se requiere un proveedor NSPv2 para implementar las siguientes funciones:
Todas las demás funciones son opcionales, dependiendo de los requisitos del proveedor NSPv2.
Si no se implementa una función, las llamadas a esa función se deben interceptar mediante una función de código auxiliar que devuelve WSAEOPNOTSUPP. El puntero de función NSPv2 a la función no implementada en la estructura NSPV2_ROUTINE debe apuntar a la función de código auxiliar.
En general, los proveedores NSPv2 se implementan en procesos distintos de las aplicaciones que llaman. Los proveedores NSPv2 no se activan como resultado de la actividad del cliente. Cada aplicación de hospedaje de proveedor decide cuándo hacer que un proveedor específico esté disponible o no disponible mediante una llamada a las funciones WSAAdvertiseProvider y WSAUnadvertiseProvider . La actividad del cliente solo da como resultado intentos de ponerse en contacto con el proveedor, cuando está disponible (cuando se anuncia el proveedor de espacios de nombres).
Un proceso puede implementar y anunciar varios proveedores al mismo tiempo. Windows Sockets administrará los proveedores de espacios de nombres enviando llamadas a la correcta. También ocultará los detalles de la interfaz RPC y traducirá las llamadas entre procesos en llamadas en proceso. Por lo tanto, el proveedor NSPv2 solo tiene que implementar una tabla de funciones de punto de entrada similares a la estructura de NSP_ROUTINE usada por un proveedor NSPv1. Un proveedor NSPv2 no tiene que preocuparse por los requisitos específicos de RPC (serialización y serialización de datos, por ejemplo).
La función WSAUnadvertiseProvider hace que un proveedor de espacios de nombres específico ya no esté disponible para los clientes.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado | ws2spi.h |