IWMSDataContainerCallback::OnGetInfo

banner art

Previous Next

IWMSDataContainerCallback::OnGetInfo

A data source plug-in calls the OnGetInfo method to return the results when the server calls IWMSDataContainer::GetInfo.

Syntax

  HRESULT OnGetInfo(
  HRESULT  hr,
  DWORD  dwFlags,
  QWORD  qwInfoValue,
  QWORD  qwContext
);

Parameters

hr

[in] HRESULT identifying the result of a IWMSDataContrainer::GetInfo call.

dwFlags

[in] DWORD containing a member of the WMS_DATA_CONTAINER_GETINFO_FLAGS enumeration type. This must be the following value.

Value Description
WMS_SEEKABLE_CONTAINER The data container supports seeking.

qwInfoValue

[in] QWORD containing the specific information requested by the IWMSDataContainer::GetInfo method call. Currently, the server can only request the size, in bytes, of the data container by specifying WMS_DATA_CONTAINER_SIZE.

qwContext

[in] QWORD containing a value defined by the server to identify which IWMSDataContainer::GetInfo request the plug-in is responding to when it calls OnGetInfo. The plug-in must pass this value back unaltered.

Return Values

If the method succeeds, the plug-in must return S_OK. To report an error, the plug-in can return any HRESULT other than S_OK. If the plug-in uses the IWMSEventLog interface to log error information directly to the Windows Event Viewer, it is recommended that it return NS_E_PLUGIN_ERROR_REPORTED. Typically, the server attempts to make plug-in error information available to the server object model, the Windows Event Viewer, and the troubleshooting list in the details pane of the Windows Media Services MMC. However, if the plug-in uses the IWMSEventLog interface to send custom error information to the Windows Event Viewer, returning NS_E_PLUGIN_ERROR_REPORTED stops the server from also logging to the event viewer. For more information about retrieving plug-in error information, see Identifying Plug-in Errors.

Example Code

HRESULT STDMETHODCALLTYPE 
CDataContainer::GetInfo(
                        DWORD dwInfoValueId,
                        IWMSDataContainerCallback *pCallback,
                        QWORD qwContext
                        )
{
    HRESULT hr = S_OK;

    if( WMS_DATA_CONTAINER_SIZE = dwInfoValueId )
    {
        //TODO: Determine the amount of data in the data container.
    }

    // Send the result, qwFileSize, to the server. Ignore any errors
    // by specifying S_OK for the first parameter of OnGetInfo().
    pCallback->OnGetInfo( 
                    S_OK,
                    WMS_SEEKABLE_CONTAINER,
                    qwFileSize,
                    qwContext
                    );

    return( hr );
}

Requirements

Header: datacontainer.h.

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.

See Also

Previous Next