Directory Services

IADsExtension::Operate

The IADsExtension::Operate method is invoked by the aggregator to perform the extended functionality. The method interprets the control code and input parameters according to the specifications of the provider. For more information, see the provider documentation.

HRESULT Operate( 
  DWORD dwCode,
  VARIANT varData1,
  VARIANT varData2,
  VARIANT varData3
);

Parameters

dwCode
[in] A value of the ADSI extension control code. ADSI defines the following code value.
Value Meaning
ADS_EXT_INITCREDENTIALS Verifies user credentials in the extension object.
varData1
[in] Provider-supplied data the extension object will operate on. The value depends upon the control code value and is presently undefined.
varData2
[in] Provider-supplied data the extension object will operate on. The value depends upon the control code value and is presently undefined.
varData3
[in] Provider-supplied data the extension object will operate on. The value depends upon the control code value and is presently undefined.

Return Values

This method supports the standard return values, as well as the following:

For more information about other return values, see ADSI Error Codes.

Return Code Description
S_OK The operation succeeded.
E_FAIL The operation failed.
E_NOTIMPL The method is not implemented.

Remarks

The aggregator will ignore the E_FAIL and E_NOTIMPL return values.

Example Code

The following C/C++ code example shows a generic implementation.

STDMETHOD(Operate)(ULONG dwCode, VARIANT varData1, VARIANT varData2, VARIANT varData3)
{
   HRESULT hr = S_OK;
   switch (dwCode) 
   {
	case ADS_EXT_INITCREDENTIALS:
	// Prompt for a credential.
	// MessageBox(NULL, "INITCRED", "ADsExt", MB_OK); break;
	default:
		hr = E_FAIL;
	break;
}	
	return hr;
}

Requirements

Client: Included in Windows XP and Windows 2000 Professional.
Server: Included in Windows Server 2003 and Windows 2000 Server.
Redistributable: Requires Active Directory Client Extension on Windows NT 4.0 SP6a and Windows 95/98/Me.
Header: Declared in Iads.h.

See Also

IADsExtension, ADSI Error Codes