Compartir a través de


Función RpcNsBindingUnexportA (rpcnsi.h)

La función RpcNsBindingUnexport quita los identificadores de enlace de una interfaz y objetos de una entrada en 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 van a 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 que se desexporten (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 de 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 servicio de nombre no está disponible.
RPC_S_INTERFACE_NOT_FOUND
No se encontró 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, vea rpc Return Values.
 

Observaciones

La función rpcNsBindingUnexport permite que una aplicación de servidor quite los identificadores de enlace y los UUID de objetos 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 RpcNsBindingUnexportar, o puede anular su portación por separado. Solo los identificadores de enlace que coinciden con el UUID de 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 de RpcNsMgmtBindingUnexport para quitar varias versiones de una interfaz.

Efectivo con Windows 2000, el entorno en tiempo de ejecución de 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 caché local y de Active Directory. Los no autorizados no autorizados solo se quitarán de la caché local. Consulte access Control en la sección Seguridad del Kit de desarrollo de software de plataforma (SDK) para obtener más información sobre las listas de autorización y control de acceso.

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 anula la importación de los UUID de objeto, si se especificó alguno.

Si se encuentran uno o varios identificadores de enlace para la interfaz especificada y no se exportan sin error, RpcNsBindingUnexport desexportar los UUID de objeto especificados, si los hay.

Si no se encontró alguno de los UUID de objeto especificados, RpcNsBindingUnexport devuelve el código de estado de 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 de servidor. Sin embargo, con enlaces dinámicos, si no se anula la importación de identificadores de enlace, Active Directory puede llegar a 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 bases de datos name-service están diseñadas para ser relativamente estables. En las bases de datos de servicio de nombres replicadas, el uso frecuente de las funciones de RpcNsBindingExport y RpcNsBindingUnexport hace que la base de datos de servicio de nombres quite y reemplace repetidamente 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de rpcnsi.h (include Rpc.h)
biblioteca de Rpcns4.lib
DLL de Rpcns4.dll

Consulte también

rpcEpUnregister

RpcNsBindingExport