IWMDRMReader::Individualize 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.]

[Individualize is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use Microsoft PlayReady. ]

The Individualize method individualizes the client by updating their DRM system components.

Syntax

HRESULT Individualize(
  [in] DWORD dwFlags
);

Parameters

[in] dwFlags

DWORD containing the relevant flags.

Flag Description
0x0 Indicates that the client can be individualized again.
0x1 Indicates that the client will not be individualized again.

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.
E_INVALIDARG
A null or invalid argument has been passed in.

Remarks

This is an asynchronous call that returns immediately. To abandon the attempt, call CancelIndividualization.

Important  Because this operation will cause the user's system to be modified, you should display a message that explains what this operation will do and let the user choose whether or not to individualize. For more information and suggested message text, see DRM Individualization.
 
Individualization is the process of making the DRM client unique by downloading and installing an individualized component from the Microsoft Individualization Service. The entire process is performed automatically after an application calls the Individualize method. The application is informed of the progress of the individualization process through repeated WMT_INDIVIDUALIZE events, each of which has an associated WM_INDIVIDUALIZE_STATUS structure which is sent to the application's IWMStatusCallback::OnStatus callback method.

There are two times to initiate the individualization process: the first is when a piece of content requires it, and the second is when a player individualizes the client as part of the setup. In the latter case, there is no reason to individualize the client again.

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 WMStubDRM.lib

See also

DRM Individualization

IWMDRMReader Interface

IWMDRMReader::CancelIndividualization

Individualizing DRM Applications

WM_INDIVIDUALIZE_STATUS