Blt
Expand Minimize

ConfigureAuthenticatedChannel routine

The ConfigureAuthenticatedChannel function sets state within an authenticated channel.

Syntax


PFND3DDDI_CONFIGUREAUTHENICATEDCHANNEL ConfigureAuthenticatedChannel;

__checkReturn HRESULT APIENTRY ConfigureAuthenticatedChannel(
  _In_     HANDLE hDevice,
  _Inout_  const D3DDDIARG_CONFIGUREAUTHENTICATEDCHANNEL *pData
)
{ ... }

Parameters

hDevice [in]

A handle to the display device (graphics context).

pData [in, out]

A pointer to a D3DDDIARG_CONFIGUREAUTHENTICATEDCHANNEL structure that describes how to configure an authenticated channel. This structure contains an input buffer that describes how to configure the authenticated channel and an output buffer with configuration information.

Return value

ConfigureAuthenticatedChannel returns one of the following values:

Return codeDescription
S_OK

The authenticated channel is successfully configured.

E_OUTOFMEMORY

ConfigureAuthenticatedChannel could not allocate the required memory for it to complete.

 

Remarks

The input buffer contains a One-key Cipher Block Chaining (CBC)-mode message authentication code (OMAC) that the driver must authenticate. The input buffer also contains the driver's handle to the authenticated channel, a sequence number, and a GUID that indicates the configuration type.

The driver should fail ConfigureAuthenticatedChannel if the input OMAC does not match, if the sequence number is not greater than a sequence number that was specified in a previous call, or if the sequence number has not yet been initialized (the exception to this last rule is for the initialization call itself).

The driver should duplicate the input data in the structure of the output buffer and should sign the output structure identically to how it currently handles Output Protection Manager (OPM) queries.

Except for those situations in which the application incorrectly specifies an output buffer that is too small, the driver should always place the return code in the output structure. Therefore, the application has a secure mechanism to determine the return code.

ConfigureAuthenticatedChannel performs different operations depending on each of following GUIDs that is specified in the input structure. The driver should fail if the input buffer size does not match the size that is defined for the specified GUID.

D3DAUTHETICATEDCONFIGURE_INITIALIZE

The driver initializes the sequence numbers for the query and the configuration calls. This command can only be sent once per authenticated channel. The driver's ConfigureAuthenticatedChannel function with D3DAUTHETICATEDCONFIGURE_INITIALIZE set should fail if it is called multiple times. The driver can ignore the input sequence number.

This configuration can be made for all channel types.

The input buffer points to a D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE structure.

D3DAUTHETICATEDCONFIGURE_PROTECTION

The driver enables or disables protection for a device.

This configuration can be made for all channel types.

The driver should not allow protections that are set by one authenticated channel to be disabled by a different authenticated channel.

If an application specified the OverlayOrFullscreenRequired protection, the driver should prevent the protected content from ever being rendered to a swap chain unless the protected content is either an overlay swap chain or unless the swapchain is using full-screen flipping mode.

The input buffer points to a D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION structure.

D3DAUTHETICATEDCONFIGURE_CRYPTOSESSION

The driver associates a crypto session with a DirectX Video Acceleration (VA) decode device and a display device. The runtime can later query this crypto session to determine which outputs are associated with the crypto session. For more information about associating a crypto session with a DirectX VA decode device, see Using Crypto Session with DirectX Video Accelerator 2.0 Decoder.

The driver's ConfigureAuthenticatedChannel function with D3DAUTHETICATEDCONFIGURE_CRYPTOSESSION set should fail if the display device that is specified is not the same device that is used to create the authenticated channel, the crypto session, or the DirectX VA decode device.

This configuration can be made for all channel types.

The input buffer points to a D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION structure.

D3DAUTHETICATEDCONFIGURE_SHAREDRESOURCE

The driver adds and removes processes that can open the shared resources that were created with restricted access. The Desktop Windows Manager (DWM) process is identified by type rather than by process handle because other applications cannot obtain a process handle to the DWM process.

This configuration can only be made for channel type D3DDDIAUTHENTICATEDCHANNEL_DRIVER_SOFTWARE.

The input buffer points to a D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE structure.

D3DAUTHENTICATEDCONFIGURE_ENCRYPTIONWHENACCESIBLE

Requirements

Version

ConfigureAuthenticatedChannel is supported beginning with the Windows 7 operating system.

Header

D3dumddi.h (include D3dumddi.h)

See also

D3DDDIARG_CONFIGUREAUTHENTICATEDCHANNEL

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft