CreateOPMProtectedOutputs function

Important  This function is used by Output Protection Manager (OPM) to access functionality in the display driver. Applications should not call this function.

Creates protected output objects for a display device.


NTSTATUS WINAPI CreateOPMProtectedOutputs(
  _In_  PUNICODE_STRING                    pstrDeviceName,
  _In_  DWORD                              dwOPMProtectedOutputArraySize,
  _Out_ DWORD                              *pdwNumOPMProtectedOutputsInArray,
  _Out_ OPM_PROTECTED_OUTPUT_HANDLE        *pohOPMProtectedOutputArray


pstrDeviceName [in]

A pointer to a UNICODE_STRING structure that contains the name of the display device, as returned by the GetMonitorInfo function.

vos [in]

A member of the DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS enumeration, specifying whether the protected output will have Certified Output Protection Protocol (COPP) semantics or OPM semantics.

dwOPMProtectedOutputArraySize [in]

The number of elements in the pohOPMProtectedOutputArray array.

pdwNumOPMProtectedOutputsInArray [out]

Receives the number of items that the function copies to the pohOPMProtectedOutputArray array.

pohOPMProtectedOutputArray [out]

An array that receives handles to the protected output objects. Each handle must be released by calling DestroyOPMProtectedOutput.

Return value

If the method succeeds, it returns STATUS_SUCCESS. Otherwise, it returns an NTSTATUS error code.


Instead of using this function, applications should call one of the following functions:

This function has no associated import library. To call this function, you must use the LoadLibrary and GetProcAddress functions to dynamically link to Gdi32.dll.


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]



See also

OPM Functions
Output Protection Manager