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 |
IWMSDataSourcePluginCallback::OnCreateDirectory
The OnCreateDirectory method is called by a data source plug-in to respond when the server calls IWMSDataSourcePlugin::CreateDataSourceDirectory.
Syntax
HRESULT OnCreateDirectory( HRESULT hr, QWORD qwContext );
Parameters
hr
[in] HRESULT containing the result of the call to IWMSDataSourcePlugin::CreateDataSourceDirectory.
qwContext
[in] QWORD containing a value defined by the server to identify which IWMSDataSourcePlugin::CreateDataSourceDirectory request the plug-in is responding to when it calls OnCreateDirectory. 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
#define URL_SCHEME_LENGTH 7
#define URL_SCHEME L"file://"
HRESULT STDMETHODCALLTYPE
CDataSourcePlugin::CreateDirectory(
IWMSCommandContext *pCommandContext,
LPWSTR pszContainerName,
DWORD dwFlags,
IWMSDataSourcePluginCallback *pCallback,
QWORD qwContext
)
{
// Declare variables.
HRESULT hr = S_OK;
BOOL fSuccess;
LPWSTR pszNtfsPathname = NULL;
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
// Specify the path name and create the directory. Drop
// the scheme type from the path name.
pszNtfsPathname = pszContainerName + URL_SCHEME_LENGTH;
fSuccess = ::CreateDirectory( pszNtfsPathname, lpSecurityAttributes );
// Return the result to the server.
hr = pCallback->OnCreateDirectory( hr, 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 |