// d3d10umddi.h
PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;
HRESULT Pfnd3d111DdiQueryauthenticatedchannel(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
UINT InputDataSize,
const VOID *pInputData,
UINT OutputDataSize,
VOID *pOutputData
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
Queries an authenticated channel for capability and state information. Implemented by a Windows Display Driver Model (WDDM) 1.2 or later user-mode display driver.
hDeviceA handle to the display device (graphics context).
hCAuthChannelA handle to an authenticated channel object that was created through a call to the CreateAuthenticatedChannel(D3D11_1) function.
InputDataSizeThe size, in bytes, of the data in the pInputData array.
pInputDataA pointer to a buffer that describes the information to query. The data in this buffer is formatted as a D3D11_1DDI_AUTHENTICATED_QUERY_INPUT structure.
OutputDataSizeThe size, in bytes, of the data in the pOutputData array.
pOutputDataA pointer to a buffer that contains the queried information. For more information, see the Remarks section.
Returns one of the following values:
| Return code | Description |
|---|---|
| S_OK | The authenticated channel was queried successfully. |
| E_FAIL | The display miniport driver does not support the specified command |
| E_INVALIDARG | Parameters were validated and determined to be incorrect. |
| E_OUTOFMEMORY | Memory was not available to complete the operation. |
The pInputData parameter references a buffer that contains a D3D11_1DDI_AUTHENTICATED_QUERY_INPUT structure. This structure contains the driver's handle to the authenticated channel, a sequence number, and a GUID that indicates the type of query to perform. The driver must return E_INVALIDARG if the sequence number was not previously initialized by using the ConfigureAuthenticatedChannel(D3D11_1) function. The driver must also return E_INVALIDARG if the sequence number is not greater than the sequence number of the previous query call.
The byte array that is referenced by the pOutputData parameter is in a format that is specified by the QueryType member of the D3D11_1DDI_AUTHENTICATED_QUERY_INPUT structure. The following list describes the format of this data based on the QueryType member.
The driver prepares the output buffer that is referenced by the pOutputData parameter by following these steps:
The driver must sign the pOutputData buffer in a way that is identical to the way it handles Output Protection Manager (OPM) queries.
The D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT structure contains an AES-based one-key CBC message authentication code (OMAC) of the data. The display miniport driver must calculate an OMAC over the data in the output buffer to authenticate the data. The driver does this by first setting the omac member to zero and then calculating an OMAC for the data in the buffer. The driver then sets the omac member to the OMAC that it calculated.
The display miniport driver must return E_INVALIDARG for the QueryAuthenticatedChannel(D3D11_1) call under the following conditions:
ConfigureAuthenticatedChannel(D3D11_1)
CreateAuthenticatedChannel(D3D11_1)
D3D11_1DDI_AUTHENTICATED_QUERY_INPUT
D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT