C-C++ Código de Exemplo: a Abertura de uma Fila Privada Usando um Identificador de Computador e o Número da Fila
- 10/19/2016
- 3 minutos para ler
Aplica-se A: Windows 10, Windows 7, Windows 8, o Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Técnicas de Visualização, Windows Vista
Este exemplo fornece uma função definida pelo aplicativo que abre uma fila privada baseada no computador local usando o seu computador e o identificador de uma fila de número fornecidos pelo chamador.
o chamador pode obter o número da fila a partir dos nomes dos ficheiros LQS armazenados na pasta Lqs (a pasta Lqs é criada quando o MSMQ está instalado) no computador. O número da fila é a primeira parte do nome de cada arquivo.
o procedimento a seguir mostra como a função abre a fila com base na informação fornecida pelo chamador.
para abrir uma fila usando um identificador de computador e número da fila
-
definir o número máximo de propriedades a especificar, o contador de propriedades e a estrutura MQQMPROPS. Neste exemplo, a propriedade identificador do computador é a única propriedade especificada.
-
Especificar a PROPID_QM_MACHINE_ID computador de propriedade
-
Inicializar o MQQMPROPS estrutura.
-
ligue para o Mqgetmetmachineproperties para obter o identificador único global (GUID) do computador. O seguinte exemplo de código recupera o GUID do computador local.
-
construir um nome de formato privado para a fila usando o GUID do computador devolvido pelo Mqgetmetmachineproperties e o número de fila fornecido. (Este exemplo usa a função RPC UuidToString para construir o formato da fila privada.)
a sintaxe do nome do formato privado é mostrada abaixo:
"PRIVATE=ComputerGUID\QueueNumber"
-
usando o nome do formato construído e os modos de acesso e partilha fornecidos na chamada, ligue para o MQOpenQueue para abrir a fila.
exemplo de código
os arquivos de biblioteca e cabeçalho necessários para as chamadas RPC feitas por esta função são rpcrt4.lib e rpc.h, respectivamente. Esta função não contém chamadas de espera de mensagens específicas de versão.