Esempio di codice C-C++: apertura di una coda privata utilizzando un identificatore di computer e un numero di coda
- 10/19/2016
- 3 minuti per leggere
Si applica a: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
in Questo esempio fornisce una funzione definita dall’applicazione che si apre una coda privata basata sul computer locale utilizzando il suo identificatore del computer e un numero di coda fornito dal chiamante.
Il chiamante può ottenere il numero di coda dai nomi dei file LQS memorizzati nella cartella Lqs (la cartella Lqs viene creata quando MSMQ è installato) sul computer. Il numero di coda è la prima parte del nome di ogni file.
La seguente procedura mostra come la funzione apre la coda in base alle informazioni fornite dal chiamante.
Per aprire una coda utilizzando un identificatore del computer e un numero di coda
-
Definire il numero massimo di proprietà da specificare, il contatore di proprietà e la struttura MQQMPROPS. In questo esempio la proprietà identificatore computer è l’unica proprietà specificata.
-
Specificare la proprietà del computer PROPID_QM_MACHINE_ID
-
Inizializzare la struttura MQQMPROPS.
-
Chiamare MQGetMachineProperties per recuperare l’identificatore univoco globale (GUID) del computer. Il seguente esempio di codice recupera il GUID del computer locale.
-
Crea un nome di formato privato per la coda utilizzando il GUID del computer restituito da MQGetMachineProperties e il numero di coda fornito. (Questo esempio utilizza la funzione RPC UuidToString per costruire il formato della coda privata.)
La sintassi del nome del formato privato è mostrata di seguito:
"PRIVATE=ComputerGUID\QueueNumber"
-
Utilizzando il nome formato costruito e le modalità di accesso e condivisione fornite nella chiamata, chiamare MQOpenQueue per aprire la coda.
Esempio di codice
La libreria e i file di intestazione necessari per le chiamate RPC effettuate da questa funzione sono rpcrt4.lib e rpc.h, rispettivamente. Questa funzione non contiene chiamate di accodamento dei messaggi specifiche della versione.