Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A associação de cadeia de caracteres é uma cadeia de caracteres não assinada composta de cadeias de caracteres que representam o objeto de vinculação UUID, a sequência do protocolo RPC, o endereço de rede e as opções de ponto de extremidade e ponto final.
ObjectUUID@ProtocolSequence:NetworkAddress[Endpoint,Option]
Parâmetros
-
ObjectUUID
-
UUID do objeto operado pela chamada de procedimento remoto. No servidor, a biblioteca de tempo de execução RPC mapeia o tipo de objeto para um vetor de ponto de entrada do gerenciador (uma matriz de ponteiros de função) para invocar a rotina correta do gerenciador. Para obter uma discussão sobre como mapear UUIDs de objeto para vetores de ponto de entrada do gerente, consulte Registrando interfaces.
-
ProtocolSequence
-
Cadeia de caracteres que representa uma combinação válida de um protocolo RPC (como ncacn), um protocolo de transporte (como TCP) e um protocolo de rede (como IP). Microsoft RPC suporta os seguintes protocolos especificados em Constantes de Sequência de Protocolo.
-
NetworkAddress
-
Endereço de rede do sistema para receber chamadas de procedimento remoto.
Observação
As seguintes sequências de protocolo não são suportadas a partir do Windows XP:
O formato e o conteúdo do endereço de rede dependem da sequência de protocolo especificada da seguinte forma.
Sequência de protocolos Endereço de rede Exemplos ncacn_nb_tcp Nome do computador myserver ncacn_nb_ipx Nome do computador myserver ncacn_nb_nb Nome do computador myserver ncacn_ip_tcp Endereço de Internet de quatro octetos ou nome do anfitrião. Se a pilha de rede IPv6 estiver instalada, o IPv6 será totalmente suportado e um endereço IPv6 também será aceito. 128.10.2.30 anynode.microsoft.com ncacn_np Nome do servidor (barras invertidas duplas à esquerda são opcionais) myserver \\myotherserver ncacn_spx Endereço Internet IPX ou nome do servidor ~0000000108002B30612C myserver ncacn_dnet_nsp Sintaxe de área e nó 4.120 ncacn_at_dsp Nome do computador, opcionalmente seguido por @ e o nome da zona AppleTalk. O padrão é @*, a zona do cliente, se nenhuma zona for fornecida servername@zonename nome do servidor ncacn_vns_spp Nome do servidor StreetTalk do formulário item@group@organization printserver@sdkdocs@microsoft ncadg_mq Nome do servidor myserver ncacn_http Endereço Internet (nome de quatro octetos ou amigável, ou nome do servidor local 128.10.2.30 somesvr@anywhere.com mylocalsvr ncadg_ip_udp Endereço Internet de quatro octetos ou nome do anfitrião 128.10.2.30 anynode.microsoft.com ncadg_ipx Endereço Internet IPX ou nome do servidor ~0000000108002B30612C myserver ncalrpc Nome da máquina esta máquina O campo de endereço de rede é opcional. Quando você não especifica um endereço de rede, a associação de cadeia de caracteres refere-se ao seu host local. É possível especificar o nome do computador local quando você usa o ncalrpc sequência de protocolo, no entanto, fazer isso é completamente desnecessário.
-
Endpoint
-
Ponto de extremidade, ou endereço, do processo para receber chamadas de procedimento remoto. Um ponto de extremidade pode ser precedido pela palavra-chave endpoint=. Especificar o ponto de extremidade é opcional se o servidor tiver registrado suas associações com o mapeador de pontos de extremidade. Consulte RpcEpRegister.
O formato e o conteúdo de um ponto de extremidade dependem da sequência de protocolo especificada, conforme mostrado na tabela de pontos de extremidade/opção a seguir.
-
Opção
-
Opções específicas do protocolo. O campo de opção não é obrigatório. Cada opção é especificada por um par {name, value} que usa a sintaxe o nome da opção=o valor da opção. As opções são definidas para cada sequência de protocolo, conforme mostrado na tabela Endpoint/Option a seguir.
Sequência de protocolos Ponto final Exemplos Nome da opção ncacn_nb_tcp Inteiro entre 1 e 254. Muitos valores entre 0 e 32 são reservados pela Microsoft. 100 Nenhum ncacn_nb_ipx (conforme acima) (conforme acima) Nenhum ncacn_nb_nb (conforme acima) (conforme acima) Nenhum ncacn_ip_tcp Número da porta Internet. 1025 Nenhum ncacn_np Pipe nomeado. O nome deve começar com "\\pipe". \\pipe\\nome do pipe Segurança ncacn_spx Inteiro entre 1 e 65535. 5000 Nenhum ncacn_dnet_nsp DECnet fase IV número do objeto (deve ser precedido pelo caractere #) ou nome do objeto. servidor de correio #17 Nenhum ncacn_at_dsp Uma cadeia de caracteres, com até 22 bytes de comprimento. myservicesendpoint Nenhum ncacn_vns_spp Número de porta SPP da vinha entre 250 e 511. 500 Nenhum ncadg_mq Inteiro entre 1 e 65535. 5000 Nenhum ncacn_http Número da porta Internet. 2215 Nomes de servidores proxy HTTP e RPC, opção HttpConnection ncadg_ip_udp Número da porta Internet. 1025 Nenhum ncadg_ipx Inteiro entre 1 e 65535. 5000 Nenhum ncalrpc String especificando o nome do aplicativo ou serviço. A cadeia de caracteres não pode incluir caracteres de barra invertida. my_printer Segurança O HttpConnectionOption nome da opção, com suporte para a sequência de protocolo ncacn_http, usa o seguinte valor.
Nome da opção Valor HttpConnectOption UseHttpProxy O HttpConnectionOption permite direcionar o comportamento de RPC ao fazer conexões HTTP. O valor UseHttpProxy instrui o RPC a rotear seu tráfego através do proxy Http em todos os momentos, inclusive quando o cliente tem as Opções da Internet definidas no Internet Explorer para Ignorar o servidor proxy para endereços locais. Essa opção direciona o cliente para se conectar com força ao proxy RPC por meio do proxy Http. Isso acelera o tempo para estabelecer uma conexão, uma vez que ignora qualquer atraso na busca pelo servidor RPC diretamente antes de usar o proxy HTTP.
Se essa opção HttpConnectionOption for usada e o Internet Explorer no cliente não estiver configurado para usar esse proxy Http, as conexões poderão falhar com RPC_S_INVALID_NETWORK_OPTIONS.
HttpConnectOption=UseHttpProxyPara obter mais informações sobre o HttpConnectionOption , consulte Usando HTTP como umde Transporte RPC.
O nome da opção Security, com suporte para as sequências de protocolo ncalrpc, ncacn_np, ncadg_ip_udp e ncadg_ipx, usa os seguintes valores de opção.
Nome da opção Valor da opção Segurança {identificação | anónimo | usurpação} {dinâmico | estático} {verdadeiro | falso} Se o nome da opção de segurança for especificado, uma entrada de cada um dos conjuntos de valores de opção de segurança também deverá ser fornecida. Os valores de opção devem ser separados por um caractere de espaço único. Por exemplo, os seguintes campos Opção são válidos:
Security=identification dynamic true Security=impersonation static trueOs valores das opções de segurança têm os seguintes significados.
Valor da opção de segurança Descrição Anônimo O cliente é anônimo para o servidor. Dinâmica As alterações na identidade de segurança do cliente são vistas pelo servidor quando o servidor usa a segurança de transporte. Este é o modo padrão para segurança de nível de transporte LRPC (ncalrpc) e para segurança de nível de transporte de pipe nomeado local (ncacn_np). Falso Efetivo = FALSO; todas as configurações de privilégios de token, incluindo aquelas definidas como OFF, são incluídas no token no servidor e podem ser habilitadas pelo servidor. Os privilégios são relevantes apenas para chamadas RPC da mesma máquina. de Identificação O servidor tem informações sobre o cliente, mas não pode representar. de falsificação de identidade O servidor pode agir em nome do cliente dentro do sistema local (a segurança no nível de transporte não suporta delegação). estática As alterações na identidade de segurança do cliente não são vistas pelo servidor quando o servidor usa a segurança de transporte. Este é o único modo disponível para segurança de nível de transporte de pipe nomeado remoto (ncacn_np). A identidade do chamador é salva durante a primeira chamada de procedimento remoto nesse identificador de vinculação, não no momento em que o identificador de vinculação é criado. Verdadeiro Efetivo = VERDADEIRO; apenas as configurações de privilégios de token definidas como ON são incluídas no token no servidor. Os privilégios definidos como OFF não podem ser ativados pelo servidor se essa opção for usada. Os privilégios são relevantes apenas para chamadas RPC da mesma máquina. Para obter mais informações sobre opções de segurança, Security.
Comentários
Espaço em branco não é permitido em associações de cadeia de caracteres, exceto quando exigido pela sintaxe Opção. As configurações padrão para os campos NetworkAddress, Endpointe Option variam de acordo com o valor do membro ProtocolSequence.
Para todos os campos de vinculação de cadeia de caracteres, um único caractere de barra invertida (\) é interpretado como um caractere de escape. Para especificar um único caractere de barra invertida literal, você deve fornecer dois caracteres de barra invertida (\\).
Uma associação de cadeia de caracteres contém a representação de caracteres de uma alça de vinculação e, ocasionalmente, partes de uma alça de ligação. As ligações de cadeia de caracteres são convenientes para representar partes de um identificador de ligação, mas não podem ser usadas para fazer chamadas de procedimento remoto. Eles devem primeiro ser convertidos em um identificador de vinculação chamando RpcBindingFromStringBinding.
Além disso, uma associação de cadeia de caracteres não contém todas as informações de um identificador de ligação. Por exemplo, as informações de autenticação, se houver, associadas a um identificador de vinculação não são traduzidas na associação de cadeia de caracteres retornada chamando o RpcBindingToStringBinding.
Durante o desenvolvimento de um aplicativo distribuído, os servidores podem comunicar suas informações de vinculação aos clientes usando associações de cadeia de caracteres para estabelecer uma relação cliente-servidor sem usar o banco de dados de mapa de ponto de extremidade ou o banco de dados de serviço de nomes. Para estabelecer essa relação, use a função RpcBindingToStringBinding para converter um ou mais identificadores de vinculação de um vetor de identificador de ligação para uma associação de cadeia de caracteres e fornecer a ligação de cadeia de caracteres para o cliente.
Exemplos
A seguir estão exemplos de associações de cadeia de caracteres válidas. Nesses exemplos, obj-uuid é usado por conveniência para representar um UUID válido em forma de cadeia de caracteres. Em vez de mostrar o UUID 308FB580-1EB2-11CA-923B-08002B1075A7, os exemplos mostram obj-uuid.
obj-uuid@ncadg_mq:mymqserver
obj-uuid@ncacn_http:major7.microsoft.com[2225]
obj_uuid@ncacn_http:major7.microsoft.com[,HttpProxy=proxysvr:80,
RpcProxy=websvr1.microsoft.com:80]
obj_uuid@ncacn_http:major7.microsoft.com[,HttpProxy=proxysvr:80,
RpcProxy=websvr1.microsoft.com:80,HttpConnectOption=UseHttpProxy]
obj-uuid@ncacn_ip_tcp:16.20.16.27[2001]
obj-uuid@ncacn_ip_tcp:16.20.16.27[endpoint=2001]
obj-uuid@ncacn_nb_nb:
obj-uuid@ncacn_nb_nb:[100]
obj-uuid@ncacn_np:
obj-uuid@ncacn_np:[\\pipe\\p3,Security=impersonation static true]
obj-uuid@ncacn_np:\\\\marketing[\\pipe\\p2\\p3\\p4]
obj-uuid@ncacn_np:\\\\marketing[endpoint=\\pipe\\p2\\p3\\p4]
obj-uuid@ncacn_np:\\\\sales
obj-uuid@ncacn_np:\\\\sales[\\pipe\\p1,Security=identification dynamic true]
obj-uuid@ncalrpc:
obj-uuid@ncalrpc:[object1_name_demonstrating_that_these_can_be_lengthy]
obj-uuid@ncalrpc:[object2_name,Security=anonymous static true]
obj-uuid@ncacn_vns_spp:server@group@org[500]
obj-uuid@ncacn_dnet_nsp:took[elf_server]
obj-uuid@ncacn_dnet_nsp:took[endpoint=elf_server]
obj-uuid@ncadg_ip_udp:128.10.2.30
obj-uuid@ncadg_ip_udp:maryos.microsoft.com[1025]
obj-uuid@ncadg_ipx: ~0000000108002B30612C[5000]
obj-uuid@ncadg_ipx:printserver
obj-uuid@ncacn_spx:annaw[4390]
obj-uuid@ncacn_spx:~0000000108002B30612C
Tópicos relacionados
-
Usando HTTP como um de Transporte RPC