MessageQueue::GetMachineId Method (String^)
Gets the identifier of the computer on which the queue referenced by this MessageQueue is located.
Assembly: System.Messaging (in System.Messaging.dll)
Parameters
- machineName
-
Type:
System::String^
The name of the computer that contains the queue, without the two preceding backslashes (\\).
Return Value
Type: System::GuidA Guid that represents a unique identifier for the computer on which the queue is located.
| Exception | Condition |
|---|---|
| MessageQueueException | The computer identifier could not be retrieved, possibly because the directory service is not available; for example, if you are working offline. -or- An error occurred when accessing a Message Queuing method. |
You can use a computer's identifier for two purposes, among others: to read the computer journal and to set security certificates. However, you cannot call GetMachineId(String^) for a remote computer when you are working offline because the application must have access to the directory service on the domain controller.
The computer identifier (or machine identifier) is a Guid that Message Queuing creates when a computer is added to the enterprise. Message Queuing combines the computer identifier with the Machine and Journal keywords to create the machine journal's format name, which has the syntax Machine=<computeridentifier>;Journal. The machine journal, which is also known as the journal queue, is a system queue that stores copies of application-generated messages when the UseJournalQueue property is true.
This syntax for the journal is only valid when constructing the format name for the queue. The path name syntax is MachineName\Journal$.
The following table shows whether this method is available in various Workgroup modes.
Workgroup mode | Available |
|---|---|
Local computer | No |
Local computer and direct format name | No |
Remote computer | No |
Remote computer and direct format name | No |
The following code example calls GetMachineId(String^).
// Get the name of the computer that contains the queue. string machineName = queue.MachineName; // Display the return value of the MessageQueue.GetMachineId method. Console.WriteLine("MessageQueue.GetMachineId(): {0}", MessageQueue.GetMachineId(machineName));
Available since 1.1