Función RpcNsBindingUnexportA (rpcnsi.h)

La función RpcNsBindingUnexport quita los identificadores de enlace de una interfaz y objetos de una entrada de la base de datos name-service.

Nota Esta función no se admite en Windows Vista ni en sistemas operativos posteriores.
 

Sintaxis

RPC_STATUS RpcNsBindingUnexportA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID_VECTOR   *ObjectUuidVec
);

Parámetros

EntryNameSyntax

Sintaxis de EntryName.

Para usar la sintaxis especificada en la entrada de valor del Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax, proporcione un valor de RPC_C_NS_SYNTAX_DEFAULT.

EntryName

Puntero al nombre de entrada del que se van a quitar identificadores de enlace y UUID de objeto.

IfSpec

Especificación de interfaz para los identificadores de enlace que se van a quitar de la base de datos del servicio de nombres. Un valor de parámetro null indica que no se deben quitar los identificadores de enlace (solo los UUID de objeto deben ser noportados).

ObjectUuidVec

Puntero a un vector de UUID de objeto que el servidor ya no quiere ofrecer. La aplicación construye este vector. Un valor null indica que no hay UUID de objeto para noportar (solo los identificadores de enlace deben ser noportados).

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_INVALID_VERS_OPTION
La opción de versión no es válida.
RPC_S_INVALID_NAME_SYNTAX
La sintaxis del nombre no es válida.
RPC_S_UNSUPPORTED_NAME_SYNTAX
No se admite la sintaxis de nombre.
RPC_S_INCOMPLETE_NAME
El nombre está incompleto.
RPC_S_ENTRY_NOT_FOUND
No se encontró la entrada name-service.
RPC_S_NAME_SERVICE_UNAVAILABLE
El nombre del servicio no está disponible.
RPC_S_INTERFACE_NOT_FOUND
No se ha encontrado la interfaz.
RPC_S_NOT_ALL_OBJS_UNEXPORTED
No todos los objetos no seportan.
 
Nota Para obtener una lista de códigos de error válidos, consulte Rpc Return Values.
 

Comentarios

La función RpcNsBindingUnexport permite que una aplicación de servidor quite los identificadores de enlace y los UUID de objeto de los recursos de una entrada de base de datos de servicio de nombres. Una aplicación de servidor puede desexportar la interfaz y los objetos especificados en una sola llamada a RpcNsBindingUnexport, o bien puede quitarlos por separado. Solo los identificadores de enlace que coinciden con el UUID de la interfaz y los números de versión de la interfaz principal y secundaria que se encuentran en el parámetro IfSpec no seportan. Use la función RpcNsMgmtBindingUnexport para quitar varias versiones de una interfaz.

Efectivo con Windows 2000, el entorno en tiempo de ejecución rpc usa Active Directory como su base de datos de nombre-servicio. Esto significa que las entradas no exportadas autorizadas se quitarán de la memoria caché local y de Active Directory. Las no autorizadas no autorizadas solo se quitarán de la memoria caché local. Consulte Access Control en la sección Seguridad del Kit de desarrollo de software (SDK) de la plataforma para obtener más información sobre la autorización y la Access Control Listas.

Si RpcNsBindingUnexport no encuentra ningún identificador de enlace para la interfaz especificada, la función devuelve un código de estado de RPC_S_INTERFACE_NOT_FOUND y no quita la expresión de los UUID del objeto, si se ha especificado alguno.

Si se encuentran uno o varios identificadores de enlace para la interfaz especificada y no seportan sin errores, RpcNsBindingUnexporta unexportar los UUID del objeto especificado, si existe.

Si no se encontró alguno de los UUID del objeto especificado, RpcNsBindingUnexport devuelve el código de estado RPC_S_NOT_ALL_OBJS_UNEXPORTED.

Además de llamar a RpcNsBindingUnexport, un servidor también debe llamar a la función RpcEpUnregister para anular el registro de los puntos de conexión que el servidor registró anteriormente con la base de datos local de mapa de puntos de conexión.

Una vez creada, una entrada de servidor persiste, incluso cuando se quitan todos los identificadores de enlace y UUID. Una entrada de servidor debe tener al menos un identificador de enlace para existir. Como resultado, la exportación de solo UUID a una entrada no existente no tiene ningún efecto y la eliminación de todos los identificadores de enlace elimina la entrada.

Use RpcNsBindingUnexport con criterio. Para mantener disponible un servidor activado automáticamente, debe dejar sus identificadores de enlace en la base de datos name-service entre las horas en que se activan los procesos del servidor. Sin embargo, con enlaces dinámicos, si no se quitan identificadores de enlace, Active Directory puede ser tan grande como para no administrarse.

Por lo tanto, antes de llamar a esta función, tenga en cuenta cuánto tiempo espera que el servidor no esté disponible y el tipo de enlace en uso. Si usa enlaces estáticos, reserve esta función para cuando espere que un servidor no esté disponible durante un tiempo prolongado; por ejemplo, cuando se quita permanentemente del servicio.

Nota Las bases de datos de servicio de nombres están diseñadas para ser relativamente estables. En las bases de datos de servicio de nombres replicadas, el uso frecuente de las funciones RpcNsBindingExport y RpcNsBindingUnexport hace que la base de datos de servicio de nombres quite repetidamente y reemplace la misma entrada y puede causar problemas de rendimiento.
 

Nota

El encabezado rpcnsi.h define RpcNsBindingUnexport como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rpcnsi.h (incluir Rpc.h)
Library Rpcns4.lib
Archivo DLL Rpcns4.dll

Consulte también

RpcEpUnregister

RpcNsBindingExport