IWMSDataContainer::GetInfo

The server calls the GetInfo method to retrieve information about the data container.

HRESULT GetInfo(
  DWORD  dwInfoValueId,
  IWMSDataContainerCallback*  pCallback,
  QWORD  qwContext
);

Arguments

dwInfoValueId

[in] DWORD containing a member of the WMS_DATA_CONTAINER_GETINFO_VALUES enumeration type that identifies the type of information requested. This must be one of the following values.

Value

Description

WMS_DATA_CONTAINER_SIZE

The size, in bytes, of the data in the data container.

WMS_DATA_CONTAINER_MAX_SUPPORTED_READ_SIZE

The maximum packet size, in bytes, of the data in the data container.

pCallback

[in] Pointer to the IWMSDataContainerCallbackIWMSDataContainerCallback Interface. The plug-in calls IWMSDataContainerCallback::OnGetInfo to send the requested information to the server.

qwContext

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

Return Value

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 IWMSEventLogIWMSEventLog 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

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

Concepts

IWMSDataContainer Interface