このため、バッファを必要な量(BufferSize)より少し余分に確保し、次のように調整したアドレスからの値(pPBBuf)を使うようにします。(C++の場合)
BYTE* pBuffer = new BYTE [BufferSize + 0x0f];
BYTE* pPBBuf = (BYTE*)(((DWORD)pBuffer + 0x0f) & ~0x0f);
SRB_ExecSCSICmd 構造体の SRB_BufPointer メンバには、こうして調整したポインタ pPBBuf をセットします。
私は開発の初期段階で、これを知らなかったためエラーに悩まされました。いやもう凄かったこと。OSが落ちるわ落ちるわ。

