Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
.gif)
| Previous | Next |
IWMSDirectory::GetName
The GetName method retrieves the full path of the directory object, including the URL scheme.
Syntax
HRESULT GetName( LPOLESTR* pstrValue );
Parameters
pstrValue
[out] Specifies the full path for this directory data container object.
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
The following example retrieves a path from a private data member in the user-defined class that implements the IWMSDirectory interface. You can specify this data member when you initialize the class after the server calls IWMSDataSourcePlugin::OpenDirectory.
HRESULT STDMETHODCALLTYPE
CDirectory::GetName(
LPOLESTR *pstrValue
)
{
HRESULT hr = S_OK;
if( NULL == pstrValue )
{
return( E_INVALIDARG );
}
EnterCriticalSection( &m_CriticalSection );
*pstrValue = (LPOLESTR)CoTaskMemAlloc(sizeof(OLECHAR)* (m_dwPathNameLength+1));
if( NULL == *pstrValue )
{
hr = E_OUTOFMEMORY;
goto EXIT;
}
if( NULL != m_pPathName )
{
*pstrValue[m_dwPathNameLength] = L'\0';
wcsncpy_s( *pstrValue, m_dwPathNameLength + 1, m_pPathName, m_dwPathNameLength );
if( L'\0' != *pstrValue[m_dwPathNameLength] )
{
hr = HRESULT_FROM_WIN32( ERROR_INSUFFICIENT_BUFFER );
goto EXIT;
}
}
else
{
( *pstrValue )[ 0 ] = L'\0';
}
EXIT:
LeaveCriticalSection( &m_CriticalSection );
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 |