MSMQPATHTOFORMAT
Returns a queue identifier (qid) handle that represents
the format name of the desired queue.
Syntax
CALL MSMQPATHTOFORMAT(pathName, qid, rc);
Required Arguments
- pathName
-
Character, input
Represents the queue's
pathname or actual format name of the queue, if known. If an MSMQ
pathname is used to represent the queue, then it is converted to an
MSMQ format name. Possible
pathName representations are as follows:
-
Public queue:
machineName\QueueName
-
Public queue's journal:
machineName\QueueName;Journal
-
Private queue:
machineName\PRIVATE$\QueueName
-
Private queue's journal:
machineName\PRIVATE$\QueueName;Journal
-
Machine journal queue:
machineName\JOURNAL
-
Machine deadletter queue:
machineName\DEADLETTER
-
Machine transaction deadletter
queue:
machineName\DEADXACT
Note: machineName can be substituted with '.' to designate the local machine. If the
actual format name of the queue is known, then this call can be used
to transform it into the expected unicode string.
-
Possible format name representations are as follows:Public queue: public=QueueGUID
-
Public queue's journal:
public=QueueGUID;JOURNAL
-
Private queue:
private=machineGUID\QueueNumber
-
Private queue's journal:
private=machineGUID\QueueNumber;JOURNAL
-
Direct public queue:
direct=AddressSpec\QueueName
-
Direct private queue:
direct=AddressSpec\PRIVATE$\QueueName
where
AddressSpec is of the form protocol:address
(For example, tcp:10.26.1.177)
-
Machine journal queue:
machine=machineGUID;JOURNAL
-
Machine deadletter queue:
machine=machineGUID;DEADLETTER
-
Machine transaction deadletter
queue:
machine=machineGUID;DEADXACT
-
Foreign queue:
connector=ForeignCNGUID
-
Foreign transaction queue:
connector=ForeignCNGUID:XACTONLY
- qid
-
Numeric, output
Returns the queue
identifier that represents the format name of the queue.
- rc
-
Numeric, output
Provides the return
code from the CALL routine. If an error occurs, then the return code
is nonzero. A return code of -1 reflects a SAS internal error. Otherwise,
it represents an MSMQ error code. You can use the SAS function SYSMSG()
to obtain a textual description of the return code.
Example: Example
This example obtains
the format name of a queue from the pathname.
length msg $ 200;
qid=0;
rc=0;
CALL MSMQPATHTOFORMAT("pcpad\testq", qid, rc);
if rc ^= 0 then do;
put 'MSMQPathToFormat: failed';
msg = sysmsg();
put msg;
end;
else put 'MSMQPathToFormat: succeeded';