IWMSDataContainerVersion::SetEntityTag
Previous | Next |
IWMSDataContainerVersion::SetEntityTag
The SetEntityTag method specifies an entity tag.
Syntax
HRESULT SetEntityTag( BSTR szEntityTag );
Parameters
szEntityTag
[in] BSTR containing an entity tag.
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.
Remarks
You can specify any string as an entity tag. Entity tags provide an additional way to differentiate between types of content.
Example Code
Data source plug-ins that retrieve data from files can specify an entity tag. The entity tag can be any BSTR. The following example uses the file size as an entity tag.
// Declare variables. HRESULT hr = S_OK; WIN32_FILE_ATTRIBUTE_DATA FileAttributeData; IWMSDataContainerVersion *pVersion = NULL; LPWSTR pszPath; BSTR bstrFileSize = NULL; // 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, and the // cache flags. // 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; // Convert the file size to a BSTR and use it to specify an entity tag. qwFileSize = MAKEQWORD( FileAttributeData.nFileSizeLow, FileAttributeData.nFileSizeHigh ); _ui64tow( qwFileSize, (LPWSTR) pszFileSize, 10 ); bstrFileSize = SysAllocString( (LPWSTR) pszFileSize ); hr = pVersion->SetEntityTag( bstrFileSize ); if (FAILED(hr)) goto EXIT; EXIT: // TODO: Release temporary objects.
Requirements
Header: datacontainerversion.h.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.
See Also
- IWMSDataContainerVersion Interface
- IWMSDataContainerVersion::GetEntityTag
- IWMSDataContainerVersion::GetEntityTagCount
Previous | Next |