3.10.4.1.39 ADsPath (Opnum 45)

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

 [propget] HRESULT ADsPath(
   [out, retval] BSTR* pbstrADsPath
 );

pbstrADsPath: A pointer to a BSTR that contains the directory path 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 that is identified by the QueueFormatName instance variable.

    • If Queue exists:

      • If Queue is a public queue:

        • Set pbstrADsPath to the value of Queue.DirectoryPath.

    • Else:

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

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