Interface IWbemProviderInitSink¦@¦

<span style=color:#FF0000>[This is preliminary documentation and subject to change.]</span>

The IWbemProviderInitSink interface is exported by CIMOM and called by the provider during the initialization sequence.

 

Methods in Vtable Order

IUnknown Methods Description
QueryInterface_hmm_IWbemProviderInitSink_QueryInterface Determines if the current object supports a given interface.
Addref_hmm_IWbemProviderInitSink_Addref Increases the object's reference count by 1.
Release_hmm_IWbemProviderInitSink_Release Decrements the object's reference count by 1, and frees the object when the reference count is zero.

 

IWbemProviderInitSink Methods Description
SetStatus_hmm_IwbemProviderInitSink_SetStatus Called by the provider to indicate success or failure of initialization.

 

 

‹^# $ K + IWbemProviderInitSink::QueryInterface¦@¦

<span style=color:#FF0000>[This is preliminary documentation and subject to change.]</span>

The IWbemProviderInitSink::QueryInterface method determines if the object supports a particular COM interface. If it does, the system increases the object's reference count, and the application can use that interface immediately.

HRESULT IWbemProviderInitSink::QueryInterface(

[in] REFIID riid,

[out] LPVOID *ppv

);

 

Parameters

riid

The COM interface identifier of the requested interface.

 

obp

Address of a pointer that will be filled with the interface pointer if the query succeeds.

 

 

Return Values

Returns standard COM error codes for QueryInterface. It returns WBEM_S_NO_ERROR if the call succeeds. If the call fails because the requested interface was not supported, the method returns E_NOINTERFACE.

Remarks

When the application no longer needs the interface retrieved by a call to this method, it must call the Release method for that interface to free it. The QueryInterface method allows the extension of objects without interfering with each object's existing or future functionality.

This method is part of the IUnknown interface inherited by the object. For more information about this method, see the COM documentation in the Microsoft Platform SDK.

See Also

IUnknown Interface Basics_hmm_IUnknown_Interface_Basics

‹^# $ K + IWbemProviderInitSink::AddRef¦@¦

<span style=color:#FF0000>[This is preliminary documentation and subject to change.]</span>

The IWbemProviderInitSink::AddRef method increases the object's reference count by 1.

ULONG AddRef( );

 

Parameters

None.

Return Values

Returns the new reference count.

Remarks

When the object is created, its reference count is set to 1. Every time an application obtains an interface to the object or calls the AddRef method, the object's reference count is increased by 1. Use the Release_hmm_IWbemProviderInitSink_Release method to decrease the object's reference count by 1.

This method is part of the IUnknown interface inherited by the object. For a complete discussion of IUnknown methods, see IUnknown Programming Basics.

For more information about this method, see the COM documentation in the Microsoft Platform SDK.

See Also

IUnknown Interface Basics_hmm_IUnknown_Interface_Basics

‹^# $ K + IWbemProviderInitSink::Release¦@¦

<span style=color:#FF0000>[This is preliminary documentation and subject to change.]</span>

The IWbemProviderInitSink::Release method decreases the object's reference count by 1.

ULONG IWbemProviderInitSink::Release( );

 

Parameters

None.

Return Values

Returns the new reference count.

Remarks

The object deallocates itself when its reference count reaches zero. Use the AddRef_hmm_IWbemProviderInitSink_AddRef method to increase the object's reference count by 1.

This method is part of the IUnknown interface inherited by the object. For more information about this method, see the COM documentation in the Microsoft Platform SDK.

See Also

IUnknown Interface Basics_hmm_IUnknown_Interface_Basics

‹^# $ K + IWbemProviderInitSink::SetStatus¦@¦

<span style=color:#FF0000>[This is preliminary documentation and subject to change.]</span>

The IWbemProviderInitSink::SetStatus method indicates to CIMOM whether a provider is fully or partially initialized.

HRESULT IWbemProviderInitSink::SetStatus(

[in] LONG lStatus,

[in] LONG lFlags

);

 

Parameters

lStatus

Indicates to CIMOM a provider's initialization status. One of the following values can be set:

 

Value Description
WBEM_S_INITIALIZED Indicates that the provider is fully initialized and ready to accept requests.
WBEM_S_LIMITED_SERVICE Indicates that the provider is partially initialized. The provider is not ready to accept client requests, but can accept requests made by other providers during their attempts to initialize.
WBEM_E_FAILED Indicates that the provider has failed to initialize and is not functional.

 

lFlags

Reserved. It must be zero.

 

 

Return Values

CIMOM always returns WBEM_S_NO_ERROR.

Remarks

All types of providers calls IWbemProviderInitSink::SetStatus to indicate its initialization status to CIMOM.

If lStatus is set to WBEM_S_INITIALIZED, CIMOM expects the provider to be fully capable of immediately servicing requests.

If lStatus is set to WBEM_S_LIMITED_SERVICE, CIMOM will forward requests made by other providers during their attempts to initialize, but will not forward client requests. The provider must still eventually call SetStatus with WBEM_S_INITIALIZED or WBEM_E_FAILED to indicate its final initialization status.

See Also

Initializing a Provider_hmm_Initializing_a_Provider