Função RpcNsMgmtBindingUnexportA (rpcnsi.h)

A função RpcNsMgmtBindingUnexport remove vários identificadores de associação e objetos de uma entrada no banco de dados name-service.

Nota Não há suporte para essa função no Windows Vista e em sistemas operacionais posteriores.
 

Sintaxe

RPC_STATUS RpcNsMgmtBindingUnexportA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  UUID_VECTOR   *ObjectUuidVec
);

Parâmetros

EntryNameSyntax

Sintaxe de EntryName.

Para usar a sintaxe especificada na entrada de valor do Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax, forneça um valor de RPC_C_NS_SYNTAX_DEFAULT.

EntryName

Ponteiro para o nome da entrada da qual remover identificadores de associação e UUIDs de objeto.

IfId

Ponteiro para uma identificação de interface. Um valor de parâmetro nulo indica que os identificadores de associação não devem ser inexportáveis— somente UUIDs de objeto devem ser não suportados.

VersOption

Especifica como a função RpcNsMgmtBindingUnexport usa os membros VersMajor e VersMinor da estrutura apontada pelo parâmetro IfId .

A tabela a seguir descreve valores válidos para o parâmetro VersOption .

Valores de VersOption Significado
RPC_C_VERS_ALL
Cancela a exportação de todas as associações para a interface UUID em IfId, independentemente dos números de versão. Para esse valor, especifique 0 para as versões principal e secundária em IfId.
RPC_C_VERS_IF_ID
Desexporta as associações para a interface compatível UUID no IfId com a mesma versão principal e com uma versão secundária maior ou igual à versão secundária no IfId.
RPC_C_VERS_EXACT
Desexporta as associações para a interface UUID em IfId com as mesmas versões principais e secundárias que no IfId.
RPC_C_VERS_MAJOR_ONLY
Desexporta as associações para a interface UUID em IfId com a mesma versão principal que em IfId (ignora a versão secundária). Para esse valor, especifique 0 para a versão secundária em IfId.
RPC_C_VERS_UPTO
Desexporta as associações que oferecem uma versão da UUID de interface especificada menor ou igual à versão principal e secundária especificada. (Por exemplo, se o IfId contiver v2.0 e a entrada de serviço de nome–banco de dados contiver identificadores de associação com as versões 1.3, 2.0 e 2.1, a função RpcNsMgmtBindingUnexport cancelaria o registro dos identificadores de associação com as versões 1.3 e 2.0.)

ObjectUuidVec

Ponteiro para um vetor de UUIDs de objeto que o servidor não deseja mais oferecer. O aplicativo constrói esse vetor. Um valor nulo indica que não há UUIDs de objeto para não exportar— somente os identificadores de associação devem ser inexportáveis.

Valor retornado

Valor Significado
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_INVALID_VERS_OPTION
A opção de versão é inválida.
RPC_S_INVALID_NAME_SYNTAX
A sintaxe do nome é inválida.
RPC_S_UNSUPPORTED_NAME_SYNTAX
Não há suporte para a sintaxe de nome.
RPC_S_INCOMPLETE_NAME
O nome está incompleto.
RPC_S_ENTRY_NOT_FOUND
A entrada name-service não foi encontrada.
RPC_S_NAME_SERVICE_UNAVAILABLE
O serviço de nome está indisponível.
RPC_S_INTERFACE_NOT_FOUND
A interface não foi encontrada.
RPC_S_NOT_ALL_OBJS_UNEXPORTED
Nem todos os objetos não são suportados.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

A função RpcNsMgmtBindingUnexport permite que um aplicativo de gerenciamento remova um dos seguintes de uma entrada de serviço de nome – banco de dados:

  • Todos os identificadores de associação para um UUID de interface especificado, qualificados pelos números de versão da interface (principal e secundária)
  • Um ou mais UUIDs de objeto de recursos
  • Identificadores de associação e UUIDs de objeto de recursos
Um aplicativo de gerenciamento pode remover a exportação de interfaces e objetos em uma única chamada para RpcNsMgmtBindingUnexport ou pode desexportá-los separadamente. Se RpcNsMgmtBindingUnexport não encontrar nenhum identificador de associação para a interface especificada, a função retornará um código RPC_S_INTERFACE_NOT_FOUND status e não removerá a exportação dos UUIDs do objeto, se algum tiver sido especificado.

Se um ou mais identificadores de associação para a interface especificada forem encontrados e não forem exibidos sem erro, RpcNsMgmtBindingUnexport não exportará quaisquer UUIDs de objeto especificados. Se qualquer um dos UUIDs de objeto especificado não tiver sido encontrado, RpcNsMgmtBindingUnexport retornará RPC_S_NOT_ALL_OBJS_UNEXPORTED.

Além de chamar RpcNsMgmtBindingUnexport, um aplicativo de gerenciamento também deve chamar a função RpcMgmtEpUnregister para cancelar o registro dos servidores que se registraram no banco de dados de mapa de ponto de extremidade.

Nota Os bancos de dados de serviço de nome foram projetados para serem relativamente estáveis. Nos serviços de nomes replicados, o uso frequente das funções RpcNsBindingExport e RpcNsBindingUnexport faz com que o serviço de nome remova e substitua repetidamente a mesma entrada, o que pode causar problemas de desempenho.
 

Observação

O cabeçalho rpcnsi.h define RpcNsMgmtBindingUnexport como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho rpcnsi.h (inclua Rpc.h)
Biblioteca Rpcns4.lib
DLL Rpcns4.dll

Confira também

RpcMgmtEpUnregister

RpcNsBindingExport

RpcNsBindingUnexport