OPM_GET_INFO_PARAMETERS structure (ksopmapi.h)

Contains parameters for the IOPMVideoOutput::GetInformation method.

Syntax

typedef struct _OPM_GET_INFO_PARAMETERS {
  OPM_OMAC          omac;
  OPM_RANDOM_NUMBER rnRandomNumber;
  GUID              guidInformation;
  ULONG             ulSequenceNumber;
  ULONG             cbParametersSize;
  BYTE              abParameters[OPM_GET_INFORMATION_PARAMETERS_SIZE];
} OPM_GET_INFO_PARAMETERS;

Members

omac

An OPM_OMAC structure that contains a message authentication code (MAC) for the data in the rest of the structure.

rnRandomNumber

An OPM_RANDOM_NUMBER structure that contains a cryptographically secure 128-bit random number.

guidInformation

A GUID that defines the status request. For more information, see OPM Status Requests.

ulSequenceNumber

The status sequence number. The application must keep a running count of status requests. For each request, increment the sequence number by 1.

On the first call to GetInformation, set ulSequenceNumber equal to the starting status sequence number, which is specified when the application calls IOPMVideoOutput::FinishInitialization. On each subsequent call, increment ulSequenceNumber by 1.

Exception: If the status request fails, do not increment the sequence number. Instead, re-use the same number for the next status request.

cbParametersSize

The number of bytes of valid data in the abParameters member.

abParameters[OPM_GET_INFORMATION_PARAMETERS_SIZE]

The data for the status request. The meaning of the data depends on the request. For more information, see OPM Status Requests.

Remarks

Initialize this structure as follows:

  1. Generate a cryptographically secure 128-bit random number and copy it to the rnRandomNumber member. Do not re-use this number after calling GetInformation.
  2. Fill in the remaining structure members, except for the omac member.
  3. Use the OMAC 1 algorithm to calculate a message authentication code (MAC) for the block of data that appears after the omac member (excluding the omac member).
  4. Copy the MAC to the omac member.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header ksopmapi.h (include Opmapi.h)

See also

OPM Structures

Output Protection Manager