C-C++ -Codebeispiel: Öffnen einer privaten Warteschlange mithilfe einer Computerkennung und einer Warteschlangennummer

  • 10/19/2016
  • 3 minuten zu lesen

Gilt Für: 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 diesem Beispiel wird eine anwendungsdefinierte Funktion bereitgestellt, die eine private Warteschlange basierend auf dem lokalen Computer mithilfe der Computerkennung und einer vom Aufrufer angegebenen Warteschlangennummer öffnet.

Der Anrufer kann die Warteschlangennummer aus den Namen der LQSfiles abrufen, die im Lqs-Ordner (der Lqs-Ordner wird erstellt, wenn MSMQ installiert ist) auf dem Computer gespeichert sind. Die Warteschlangennummer ist der erste Teil des Namens jeder Datei.

Die folgende Prozedur zeigt, wie die Funktion die Warteschlange basierend auf den vom Aufrufer bereitgestellten Informationen öffnet.

So öffnen Sie eine Warteschlange mithilfe einer Computerkennung und einer Warteschlangennummer

  1. Definieren Sie die maximale Anzahl der anzugebenden Eigenschaften, den Eigenschaftszähler und die MQQMPROPS-Struktur. In diesem Beispiel ist die Eigenschaft Computer identifier die einzige angegebene Eigenschaft.

  2. Geben Sie die Computereigenschaft PROPID_QM_MACHINE_ID an

  3. Initialisieren Sie die MQQMPROPS-Struktur.

  4. Rufen Sie MQGetMachineProperties auf, um die GUID (Globally Unique Identifier) des Computers abzurufen. Das folgende Codebeispiel ruft die GUID des lokalen Computers ab.

  5. Erstellen Sie einen privaten Formatnamen für die Warteschlange mithilfe der von MQGetMachineProperties zurückgegebenen Computer-GUID und der angegebenen Warteschlangennummer. (In diesem Beispiel wird die RPC-Funktion UuidToString verwendet, um das Format der privaten Warteschlange zu erstellen.)

    Die Syntax des privaten Formatnamens ist unten dargestellt:

    "PRIVATE=ComputerGUID\QueueNumber" 
  6. Rufen Sie MQOpenQueue mit dem konstruierten Formatnamen und den im Aufruf angegebenen Zugriffs- und Freigabemodi auf, um die Warteschlange zu öffnen.

Codebeispiel

Die Bibliotheks- und Header-Dateien, die für die RPC-Aufrufe dieser Funktion erforderlich sind, sind rpcrt4.lib und rpc.h, beziehungsweise. Diese Funktion enthält keine versionsspezifischen Message Queuing-Aufrufe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.