3.10.4.1.31 PathNameDNS (Opnum 37)

The PathNameDNS method is received by the server in an RPC_REQUEST packet. In response, the server returns the DNS path name that identifies the referenced queue.

 [propget] HRESULT PathNameDNS(
   [out, retval] BSTR* pbstrPathNameDNS
 );

pbstrPathNameDNS: A pointer to a BSTR that specifies the DNS path name of the referenced queue.

Return Values: The method MUST return S_OK (0x00000000) on success or an implementation-specific error HRESULT on failure.

When processing this call, the server MUST abide by the following contract:

  • If IsRefreshed is FALSE call Refresh (section 3.10.4.1.29).

  • If Refresh returns a value other than S_OK (0x00000000), return the HRESULT returned by Refresh and take no further action.

  • If the QueueFormatName instance variable is NULL:

    • Return an error HRESULT, and take no further action.

  • If the QueueFormatName instance variable identifies more than one queue or contains an HTTP or a multicast format name:

    • Return an error HRESULT, and take no further action.

  • Look up the Queue identified by the QueueFormatName instance variable.

    • If Queue exists:

      • If Queue.QueueType equals public:

        • Set DNSPathName to the value of Queue.QualifiedPathName.

      • Else:

        • Return an error HRESULT, and take no further action.

    • Else:

      • Return an error HRESULT, and take no further action.

  • Set the pbstrPathNameDNS output parameter to the value of DNSPathName.

  • Return S_OK (0x00000000), and take no further action.