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.
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 |
---|---|
|
La llamada se realizó correctamente. |
|
La opción de versión no es válida. |
|
La sintaxis del nombre no es válida. |
|
No se admite la sintaxis de nombre. |
|
El nombre está incompleto. |
|
No se encontró la entrada name-service. |
|
El nombre del servicio no está disponible. |
|
No se ha encontrado la interfaz. |
|
No todos los objetos no seportan. |
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
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 |