IWMHeaderInfo::AddScript method (wmsdkidl.h)

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

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(
  [in] LPCWSTR_WMSDK_TYPE_SAFE pwszType,
  [in] LPCWSTR_WMSDK_TYPE_SAFE pwszCommand,
  [in] QWORD                   cnsScriptTime
);

Parameters

[in] pwszType

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

[in] pwszCommand

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

[in] 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

Requirement Value
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