次の方法で共有


DXGK_DSI_PACKET 構造体 (dispmprt.h)

OEM パネル ドライバーでは 、DXGK_DSI_PACKET 構造体を使用して、バス ドライバー (グラフィックス カーネル) にデジタル シリアル インターフェイス (DSI) パケットを送信します。

構文

typedef struct _DXGK_DSI_PACKET {
  union {
    BYTE DataId;
    struct {
      BYTE DataType : 6;
      BYTE VirtualChannel : 2;
    };
  };
  union {
    struct {
      BYTE Data0;
      BYTE Data1;
    };
    WORD LongWriteWordCount;
  };
  BYTE  EccFiller;
  BYTE  Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE];
} DXGK_DSI_PACKET, *PDXGK_DSI_PACKET;

メンバー

DataId

8 ビット値。下位 6 ビットが DataType を形成し、上位 2 ビットが VirtualChannel です。

DataType

送信されるデータの種類。トランザクションを読み取りまたは書き込みとして暗黙的に定義し、パラメーターの数と、トランザクションが短いパケットまたは長いパケットとして形成されるかどうかを定義します。

VirtualChannel

アドレス指定されている周辺機器のサブユニットを示します。 0、1、2、または 3 のいずれかを指定できます。

Data0

短いパケットでパラメーターを転送するために使用される 8 ビット値。 短いパケットのパラメーターは 0、1、または 2 バイトです。ここで、数と意味は DataType によって決まります。

Data1

短いパケットでパラメーターを転送するために使用される 8 ビット値。 短いパケットのパラメーターは 0、1、または 2 バイトです。ここで、数と意味は DataType によって決まります。

LongWriteWordCount

書き込み長いパケットのペイロードのWord数 (バイト単位)。

EccFiller

エラー修正コード (ECC) が送信バイトのシーケンスで受け取る領域を占有する 8 ビット フィールド。 伝送の 4 バイト目は常に ECC であり、長い書き込みの場合、ペイロードは ECC に直接従うので、このフィラーにより、長い書き込みコマンドを完全なコマンドとしてメモリ内に構築できます。 グラフィックス ドライバーは、転送前にフィラー値を正しい ECC 値で上書きする必要があります。

Payload[DXGK_DSI_PACKET_EMBEDDED_PAYLOAD_SIZE]

8 バイトの配列。これにより、小さな書き込みのシーケンスを同じ送信内のパケットの配列として送信できますが、データのサイズは制限されます。 転送の最後のパケットは、埋め込まれたペイロードの最後のバイトの直後に、さらにデータをメモリに追加できます。 読み取りパケットは、送信の最後のパケットとしてのみ許可されますが、長いパケットまたは短いパケットの形式である場合があります。どちらの方法でも、読み取りデータはペイロード バッファーに配置し、長い応答に対応するためにバッファーに余分な領域を配置する必要があります。

注釈

パネル ドライバーは 、DXGK_DSI_TRANSMISSION 構造体内の DSI_PACKET 構造体の配列を使用して IOCTL_MIPI_DSI_TRANSMISSION を呼び出します。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 2004
Header dispmprt.h

こちらもご覧ください

**IOCTL_MIPI_DSI_QUERY_CAPS

IOCTL_MIPI_DSI_RESET

IOCTL_MIPI_DSI_TRANSMISSION