Windows:SendInputで指定した"dwExtraInfo"をグローバルフック内で取得する

Windowsで、マウスに対してSendInputをした場合で試した。
SendInput関数のINPUT構造体内のMOUSEINPUT構造体のdwExtraInfoに指定した値を、マウスのグローバルフックのコールバック関数内で取得したいときは、コールバック関数のlParamがMOUSEHOOKSTRUCTEX構造体へのポインタが渡されるので、その構造体のmouseDataを見ると指定した値が入っている。
つまり、

   SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, hInst, 0);
でグローバルフックを設定。その後、
   INPUT Input={0};
   Input.type = INPUT_MOUSE;
   Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
   Input.mi.dwExtraInfo = MAGIC_NUMBER;
   SendInput(1, &Input, sizeof(Input));
で、マウス左ボタンDownをSendInputすると、指定したMAGIC_NUMBERが
グローバルフックのコールバック関数であるMouseHookProcで以下のように見れる。
LRESULT CALLBACK MouseHookProc(int code, WPARAM wParam, LPARAM lParam)
{
   ...
   switch(wParam){
      case WM_LBUTTONDOWN:
         dwExtraInfo = (MOUSEHOOKSTRUCTEX *)lParam)->mouseData;
         if( dwExtraInfo == MAGIC_NUMBER ){
            ...

MSDNには「dwExtraInfoの値はGetMessageExtraInfoで取得することができる」みたいなことが書いてあったけど、GetMessageExtraInfoでは取得できたり出来なかったり、全く確実ではなかった。
GetMessageExtraInfoで取得できる値は、どこに保存されている?
システム全体で共通?プロセスごと?スレットごと?