exemplu de cod C-C++: deschiderea unei cozi Private utilizând un identificator de Computer și un număr de coadă

  • 10/19/2016
  • 3 minute pentru a citi

se aplică la: 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

acest exemplu oferă o funcție definită de aplicație care deschide o coadă privată bazată pe computerul local utilizând identificatorul computerului și un număr de coadă furnizat de apelant.

apelantul poate obține numărul de coadă din numele fișierelor LQS stocate în folderul Lqs (folderul Lqs este creat atunci când MSMQ este instalat) pe computer. Numărul cozii este prima parte a numelui fiecărui fișier.

următoarea procedură arată modul în care funcția deschide coada pe baza informațiilor furnizate de apelant.

pentru a deschide o coadă utilizând un identificator de computer și un număr de coadă

  1. Definiți numărul maxim de proprietăți care trebuie specificate, contorul de proprietăți și structura MQQMPROPS. În acest exemplu, proprietatea computer identifier este singura proprietate specificată.

  2. specificați proprietatea computerului PROPID_QM_MACHINE_ID

  3. inițializați structura MQQMPROPS.

  4. apelați MQGetMachineProperties pentru a prelua identificatorul unic global (GUID) al computerului. Următorul exemplu de cod preia GUID-ul computerului local.

  5. construiți un nume de format privat pentru coadă utilizând GUID-ul computerului returnat de MQGetMachineProperties și numărul de coadă furnizat. (Acest exemplu utilizează funcția RPC UuidToString pentru a construi formatul cozii private.)

    sintaxa numelui formatului privat este prezentată mai jos:

    "PRIVATE=ComputerGUID\QueueNumber" 
  6. folosind numele formatului construit și modurile de acces și partajare furnizate în apel, apelați mqopenqueue pentru a deschide coada.

exemplu de cod

fișierele bibliotecă și antet necesare pentru apelurile RPC efectuate de această funcție sunt rpcrt4.lib și rpc.h, respectiv. Această funcție nu conține apeluri de așteptare pentru mesaje specifice versiunii.

Lasă un răspuns

Adresa ta de email nu va fi publicată.