IProvQueue::Activate


Activates a queued request that was suspended. Used for requests managed by the Provisioning Queue Manager Service of Microsoft. Provisioning Framework (MPF).

This operation can be performed only on suspended requests.

Syntax

C++
HRESULT Activate  (
	BSTR bstrQueueID
);
Visual Basic
Sub Activate ( _
	bstrQueueID As String _
)

Parameters

bstrQueueID
Identifier for the queued request to activate. 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 bstrRequest = NULL;
BSTR bstrQueueID = NULL;
VARIANT vStatus;
HRESULT hr = E_OUTOFMEMORY;

// The code for creating the queue manager client and the request string was skipped
...

// Create a suspended request
hr = pProvQueue->SubmitTrustedRequest(bstrRequest, TRUE, &bstrQueueID);
if(FAILED(hr)) goto LocalCleanup;

// Check that the request was indeed suspended
hr = pProvQueue->QueryStatus(bstrQueueID, &vStatus);
if(hr == S_OK)
{
	if(SUCCEEDED(::VariantChangeType(&vStatus, &vStatus, 0, VT_BSTR)))
MessageBoxW(NULL, vStatus.bstrVal, L"Queued request status before activation", MB_OK);
	::VariantClear(&vStatus);
}

// Now activate the request
hr = pProvQueue->Activate(bstrQueueID);
if(FAILED(hr)) goto LocalCleanup;

// Check the status again
hr = pProvQueue->QueryStatus(bstrQueueID, &vStatus);
if(hr == S_OK)
{
	if(SUCCEEDED(::VariantChangeType(&vStatus, &vStatus, 0, VT_BSTR)))
MessageBoxW(NULL, vStatus.bstrVal, L"Queued request status after activation", MB_OK);
	::VariantClear(&vStatus);
}

// Clean up
LocalCleanup:
	if(pProvQueue)
		pProvQueue->Release();
	::SysFreeString(bstrRequest);
	::SysFreeString(bstrQueueID);

Visual Basic Example

Dim objProvQueue
Dim strRequest
Dim strQueueID

' The code for creating the queue manager client and the request string was skipped
...

' Create a suspended request
strQueueID = objProvQueue.SubmitTrustedRequest(strRequest, True)

' Check that the request was indeed suspended
MsgBox "Queued request status before activation: " & objProvQueue.QueryStatus(strQueueID)

' Now activate the request
objProvQueue.Activate(strQueueID)

' Check the status again
MsgBox "Queued request status after activation: " & objProvQueue.QueryStatus(strQueueID)

See Also

IProvQueue


Up Top of Page
) 1999-2002 Microsoft Corporation. All rights reserved.