次の方法で共有


DIEFFESCAPE

IDirectInputDevice8::Escape および IDirectInputEffect::Escape メソッドで、ハードウェア固有のデータをデバイス ドライバーに直接渡すために使用されます。

typedef struct DIEFFESCAPE {
    DWORD dwSize;
    DWORD dwCommand;
    LPVOID lpvInBuffer;
    DWORD cbInBuffer;
    LPVOID lpvOutBuffer;
    DWORD cbOutBuffer;
} DIEFFESCAPE, *LPDIEFFESCAPE;

メンバ

  • dwSize
    構造体のサイズ (バイト単位) です。構造体を使用する前に、このメンバーを初期化する必要があります。
  • dwCommand
    ドライバー固有のコマンド番号です。有効なコマンドの一覧については、ドライバーのドキュメントを参照してください。
  • lpvInBuffer
    処理を実行するのに必要なデータを格納しているバッファーです。
  • cbInBuffer
    lpvInBuffer バッファーのサイズ (バイト単位) です。
  • lpvOutBuffer
    処理の出力データが返されるバッファーです。
  • cbOutBuffer
    入力の場合、lpvOutBuffer バッファーのサイズ (バイト単位) です。出力の場合、コマンドによって実際に生成されたバイト数です。

解説 

各ドライバーには異なるエスケープが実装されているので、正しいドライバーと通信しているかどうかは、アプリケーション自体が確認する必要があります。そのためには、アプリケーションが予測している値と DIDEVICEINSTANCE 構造体の guidFFDriver メンバーを比較します。