IWMSDirectory Interface
You can implement the IWMSDirectory interface to navigate a directory. For example, consider the following playlist in which *.wmv indicates that all of the Windows Media files in the c:\wmpub\wmroot directory are to be streamed to the client.
<?wsx version="1.0"?>
<smil>
<media src = "c:\wmpub\wmroot\*.wmv"/>
</smil>
Because the media element uses the wildcard character "*" to identify all of the Windows Media files in the directory, the server calls IWMSDataSourcePlugin::OpenDirectory on a file system data source plug-in. The plug-in creates an instance of an object that implements the IWMSDirectory interface, enumerates the media files in the directory, and passes the server a pointer to the IWMSDirectory interface when it calls IWMSDataSourcePluginCallback::OnOpenDirectory. The server then calls IWMSPlaylistParser::ReadPlaylistFromDirectory on an enabled playlist parser plug-in and passes in the pointer to the IWMSDirectory interface. The playlist parser plug-in uses the pointer to call GetChildInfo and retrieve information about the files in the directory.
Note
The file system data source plug-in must support enumeration. Also, this interface is available only on Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; and Windows Server 2008.
In addition to the methods inherited from IUnknown, the IWMSDirectory interface exposes the following methods.
Method |
Description |
---|---|
GetChildInfo |
Retrieves information about a specific media element in a directory. |
GetDataSourcePlugin |
Retrieves a pointer to the plug-in used to source content from the directory. |
GetName |
Retrieves the full path of the directory, including the URL scheme. |