IProvQueue::AddDependency
Establishes a parent-child relationship between two queued requests. Used for requests managed by the Provisioning Queue Manager Service of Microsoft. Provisioning Framework (MPF).
This operation can be performed only when both the child and parent queues are suspended. A child request starts only after the parent request completes successfully or is retried the specified number of retries on failure.
Syntax
C++ HRESULT AddDependency ( BSTR bstrQueueID, BSTR bstrChildID );Visual Basic Sub AddDependency ( _ bstrQueueID As String, _ bstrChildID As String _ )Parameters
- bstrQueueID
- Identifier of the parent queued request. Returned by SubmitRequest or SubmitTrustedRequest.
- bstrChildID
- Identifier of the child queued request. Returned by SubmitRequest or SubmitTrustedRequest.
Return Codes
Zero indicates success; a non-zero value represents an error. For a list of error codes, see MPF Errors.
C++ Example
IProvQueue *pProvQueue = NULL; BSTR bstrRequestParent = NULL; BSTR bstrRequestChild = NULL; BSTR bstrQueueIDParent = NULL; BSTR bstrQueueIDChild = NULL; HRESULT hr = E_OUTOFMEMORY; // The code for creating the queue manager client and the request strings was skipped ... // Create 2 suspended requests hr = pProvQueue->SubmitTrustedRequest(bstrRequestParent, TRUE, &bstrQueueIDParent); if(FAILED(hr)) goto LocalCleanup; hr = pProvQueue->SubmitTrustedRequest(bstrRequestChild, TRUE, &bstrQueueIDChild); if(FAILED(hr)) goto LocalCleanup; // Add a parent/child relationship between them hr = pProvQueue-> AddDependency(bstrQueueIDParent, bstrQueueIDChild); if(FAILED(hr)) goto LocalCleanup; // Activate the requests hr = pProvQueue->Activate(bstrQueueIDParent); if(FAILED(hr)) goto LocalCleanup; hr = pProvQueue->Activate(bstrQueueIDChild); // Clean up LocalCleanup: if(pProvQueue) pProvQueue->Release(); ::SysFreeString(bstrRequestParent); ::SysFreeString(bstrRequestChild); ::SysFreeString(bstrQueueIDParent); ::SysFreeString(bstrQueueIDChild);Visual Basic Example
Dim objProvQueue Dim strRequestParent Dim strRequestChild Dim strQueueIDParent Dim strQueueIDChild ' The code for creating the queue manager client and the request strings was skipped ... ' Create 2 suspended requests strQueueIDParent = objProvQueue.SubmitTrustedRequest(strRequestParent, True) strQueueIDChild = objProvQueue.SubmitTrustedRequest(strRequestChild, True) ' Add a parent/child relationship between them Call objProvQueue.AddDependency(strQueueIDParent, strQueueIDChild) ' Activate the requests objProvQueue.Activate(strQueueIDParent) objProvQueue.Activate(strQueueIDChild)See Also
Top of Page
) 1999-2002 Microsoft Corporation. All rights reserved.