banner art

Previous Next


The SetContentSize method specifies the size of the content in bytes.


  HRESULT SetContentSize(
  long  lContentSizeLow,
  long  lContentSizeHigh



[in] long containing the low-order bits of the content size.


[in] long containing the high-order bits of the content size.

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

Data source plug-ins that retrieve data from files must specify the file size. This is illustrated in the following example.

// Declare variables.
IWMSDataContainerVersion *pVersion = NULL;
LPWSTR pszPath;

// Use a pointer to an IWMSClassObject interface, pClassFactory,
// to create an IWMSDataContainerVersion object.
hr = pClassFactory->CreateInstance( IID_IWMSDataContainerVersion,
                                      (void **) &pVersion );
if (FAILED(hr)) goto EXIT;

// TODO: Specify the last modified time, the expiration time, the 
// cache flags, and the entity tags.

// Retrieve file attributes using a Win32 API call, GetFileAttributesEx,
// and set the file size into the IWMSDataContainerVersion object.
GetFileAttributesEx( pszPath, GetFileExInfoStandard, &FileAttributeData );
hr = pVersion->SetContentSize( FileAttributeData.nFileSizeLow, 
                               FileAttributeData.nFileSizeHigh );
if (FAILED(hr)) goto EXIT;

    // TODO: Release temporary objects.


Header: datacontainerversion.h.

Library: WMSServerTypeLib.dll.

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

See Also

Previous Next