IWMHeaderInfo::AddScript method

The AddScript method adds a script, consisting of type and command strings, and a specific time, to the header section of the ASF file.

Syntax

HRESULT AddScript(
  LPCWSTR_WMSDK_TYPE_SAFE pwszType,
  LPCWSTR_WMSDK_TYPE_SAFE pwszCommand,
  QWORD                   cnsScriptTime
);

Parameters

pwszType

Pointer to a wide-character null-terminated string containing the type. Script types are limited to 1024 wide characters.

pwszCommand

Pointer to a wide-character null-terminated string containing the command. Script commands are limited to 10240 wide characters.

cnsScriptTime

The script time in 100-nanosecond increments.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
NS_E_INVALID_STATE
The object is not in a configurable state.
E_INVALIDARG
No value was supplied in pwszType or pwszCommand.
E_POINTER
A pointer parameter does not contain a valid pointer.
E_UNEXPECTED
The method failed for an unspecified reason.

Remarks

Before BeginWriting has been called, the writer only supports AddScript. The reader does not support AddScript, and always returns E_NOTIMPL.

You should not add a large number of script commands to the file header if the file is intended for streaming. Some protocols impose limits on the size of a header. Limits differ by protocol, but if your script commands total tens of kilobytes, you should create a script stream instead.

When using DRM to encrypt a file, no script command can have a presentation time of 0.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wmsdkidl.h (include Wmsdk.h)
Library Wmvcore.lib; WMStubDRM.lib (if you use DRM)

See also

IWMHeaderInfo Interface

IWMHeaderInfo2

IWMHeaderInfo3

IWMHeaderInfo::GetScript

IWMHeaderInfo::RemoveScript

Using Script Commands