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 メンバーを比較します。