�֤ޤ��������������ץ饰���󡡥��󥿡��ե���������
������� 12
2003ǯ11��9���������ʡ�Pocket PC�ǡפ�ɽ�����WindowsCE�ǡפ��ѹ���
2003ǯ8��16����������Pocket PC�Ǥ��б���

��Ȫ ��ʿ
E-mail : [email protected]

�����Ǥϡ�Windows�ǡ֤ޤ������׵ڤ� WindowsCE�ǡ֤ޤ������ܡפǥ��ݡ��Ȥ���Ƥ����������ץ饰����λ��ͤ��������ޤ���

C/C++ ���Τ�ʤ����ϡ��ɤ�Ǥ�ʬ����ʤ��Ȼפ��ޤ����������餺��

1������

���������ץ饰����� DLL �η��Ƕ��뤵��ޤ�����äơ��ץ饰������������ˤ� DLL ���뤳�ȤΤǤ���Ķ���ɬ�פǤ������ C/C++ �Τ��Ȥ���ʬ����ޤ���ΤǤϤä���Ȥϸ����ޤ��󤬡� DLL �����ΤǤ����¾�θ���Ǥ�����Ǥ���Ȼפ��ޤ���
���ʤ������λ��ͽ�� Windows �ǡ֤ޤ������פ� WindowsCE�ǡ֤ޤ������ܡפ�ξ�����б����Ƥ��ޤ������λ��ͽ�˽��äƽ񤤤������������ɤϡ�ξ�ץ�åȥե������Ѥ˥ӥ�ɤ��ƻȤ����Ȥ��Ǥ��ޤ��ʤ��äȡˡ�

���ޤ���Windows.h �򥤥󥯥롼�ɤ��Ƥ���������

#include <windows.h>

���ץ饰����� DLL �ˤ� MJPInterfaceFunc �Ȥ����ؿ���¸�ߤ���ɬ�פ�����ޤ����ץ��ȥ����פ�

UINT WINAPI MJPInterfaceFunc(LPVOID inst,UINT message,UINT param1,UINT param2);
�ǡ����δؿ���𤷤ƥ�����ɥ���å�������Ʊ���褦�ʴ����ǡ֤ޤ����������Τ����å������������Ƥ��ޤ��������� WINAPI �ƤӽФ������ȤäƤ���Τϡ�C/C++�ʳ��θ���Ǥ����褦�ˡ��Ȥιͤ�����Ǥ������¤������ˤ�����ɤ��Τ���ʬ�Ǥ�ʬ���äƤʤ��ä��ꤷ�ޤ������������������Τ��ȤǤ��������δؿ��ϳ������鸫����褦�ˤ��Ȥ��Ƥ���������
���ץ饰���󤫤�֤ޤ����������Τ˻ؼ���Ф��ʥǡ����������ꡢ�᤭�Ф���Ф����ˤȤ��ϡ��֤ޤ����������Τ��Ѱդ���Ƥ��� MJSendMessage �ؿ���ƤӽФ��ޤ����ץ��ȥ����פ�
UINT WINAPI MJSendMessage(LPVOID inst,UINT message,UINT param1,UINT param2);
�Ǥ������δؿ��ؤΥ��ɥ쥹�ϡ��ץ饰����ν�����������뤳�Ȥ��Ǥ��ޤ���

��

2������

���Ȥꤢ��������ñ�ʥץ��������򸫤Ƥߤޤ��礦��

�ե�����̾ Test.c
#include <windows.h>
#include "MIPIface.h"

UINT (WINAPI *MJSendMessage)(LPVOID,UINT,UINT,UINT);

UINT WINAPI MJPInterfaceFunc(LPVOID inst,UINT message,UINT param1,UINT param2)
{
   switch(message){
   case MJPI_SUTEHAI :
      return MJPIR_SUTEHAI | 13;
   case MJPI_ONACTION :
      return 0;
   case MJPI_STARTKYOKU :
      return 0;
   case MJPI_ENDKYOKU :
      return 0;
   case MJPI_STARTGAME :
      return 0;
   case MJPI_ENDGAME :
      return 0;
   case MJPI_CREATEINSTANCE :
      return 0;
   case MJPI_INITIALIZE :
      MJSendMessage = (UINT (WINAPI *)(LPVOID,UINT,UINT,UINT))param2;
      return 0;
   case MJPI_YOURNAME :
      return (UINT)TEXT("�Ƥ���");
   case MJPI_DESTROY :
      return 0;
   }
   return MJR_NOTCARED;
}
�ե�����̾ Test.def
LIBRARY Test

EXPORTS
    MJPInterfaceFunc
���Υץ�������ӥ�ɤ���ˤϡ��嵭���ĤΥե������¾�ˡ��إå��ե����� MIPIface.h ��ɬ�פˤʤ�ޤ���
MIPIface.h �����������

ɬ�פʥե����뤬�����ä��顢�ӥ�ɤ��Ƥߤޤ��礦��Visual C++ ����Ѥ�����ϰʲ��Τ褦�ˤ��ޤ���

  1. DLL �����Ѥζ��Υץ��������Ȥ�������롣
  2. Test.c �� Test.def ��ץ��������Ȥ��ɲä��롣
  3. �ӥ�ɤ��롣

�ӥ�ɤ��ƤǤ��� DLL �ϡ��֤ޤ������פ�ǧ��������ȡɤƤ��ȡɤȤ���̾�����������ˤʤ�ޤ������Ƥϡ��֥ĥ��ڤꡪ�פǤ����ʤˤ���褦�ȡ֥ĥ��ڤ�פǤ���WINDOWS�ץ�����ߥ󥰤ηи��Τ������ʤ顢���������ɤ�������Τ�ʬ���äƤ����������Ȼפ��ޤ���

��

3�����󥹥��󥹤ιͤ���

���������٥ץ�����ߥ󥰤ηи��Τ������ʤ�ʬ����Ȼפ��ΤǤ��������֥������Ȼظ��ˤ����Ƥϥ��饹�ȥ��󥹥��󥹤Ȥ����ͤ��������פˤʤ�ޤ����������ץ饰����⤳�ιͤ�����ȤäƤ��ޤ��ʤȸ�����ꡢDLL�ιͤ�������������������ʤ���Ǥ���͡ˡ������ޤ��ɤ�ǡ֤ʤ�����񤷤������ʡפȻפäƤ��ޤä���������ʤ˿ȹ�����ۤɤΤ��ȤǤϤ���ޤ����פ���ˡ�������ꤴ�Ȥ˺���ΰ褬ɬ�פ����Ȥ������ȤʤΤǤ���
���ʤ�����������Τ�ɬ�פʤΤ�����DLL�Υץ��������Ȥ�����ȤΤ������ʤ�ʬ����Ȼפ��ΤǤ�����DLL��ʣ���ΤȤ����ǻȤ��Ƥ�����Ǥ⡢����DLL�Υ������Х��ѿ��Ϥ��٤ƤΤȤ����Ƕ�ͭ����Ƥ��ޤ��ΤǤ������Ȥ��С������������ץ饰������äơ������������Ʊ�Τ����蘆�����Ȥ��ޤ��礦���⤷�����Υץ饰����������ǡ����򥰥����Х��ѿ�������Ƥ����顢����������꤬�̤��������������ǡ������˲����Ƥ��ޤ����Ȥˤʤ�ޤ������Τ��ᡢ�������Х��ѿ���Ȥ鷺�ˡ������ǡ�������¸���뤿��Υ���ʡ����ΰ�ˤ�ɬ�פˤʤ�ޤ���

���֤ޤ������פǤϡ����������Τ���κ���ΰ������¦�dz��ݤ��������ؤΥݥ��󥿤�ץ饰���������Ȥ�������ȤäƤ��ޤ����ޤ������Υݥ��󥿤��Ѥ��Ƴ�����������̤��Ƥ��ޤ���

��MJInterfaceFunc �ؿ������ MJSendMessage �ؿ�����1����(inst)�ϡ����Υݥ��󥿤�ɽ���ޤ������Υݥ��󥿤�Ȥä������ǡ����˥������������ꡢMJSendMessage �ؿ��ǡ֤ޤ����������Τ˻ؼ���Ф��ޤ���

����������MJInterfaceFunc �ؿ���𤷤ơ֤ޤ����������Τ����å��������������硢���ˤ�äƤ���1����(inst)�� 0 (NULL) �����ꤵ������Ȥ�����ޤ�������ϡ����Υ�å��������ġ��Υ��󥹥��󥹤��Ф����ΤǤϤʤ������饹���Τ��Ф����Τ��Ȥ������Ȥ�ɽ���ޤ����Ȥϸ��äƤ⡢����������å������ϸ¤��Ƥޤ��Τǡ����ޤ꿼���ͤ���ɬ�פ�̵���Ǥ��礦���ɤΤ褦�ʥ�å������������������Τ��ϡ��ƥ�å��������������ʤ���񤭤ޤ���

�����Τ褦�ʻ��ͤΤ��ᡢ����Ȥ��Ƥ� C ���� C++ ��Ȥä������ڤǤ��ʥ��饹�򰷤��뤫��ˡ�

��

4����ޤꤴ��

4.1��MIPIface.h �ˤĤ���

���������ץ饰�������ˤϡ�MIPIface.h �Ȥ����إå��ե����뤬ɬ�פǤ���

MIPIface.h �����������

�ץ���������Ƭ�ǡ�windows.h �θ�� #include ���Ƥ���������

#include <windows.h>
#include "MIPIface.h"

4.2�����ֹ�

���ץ������Ǥϡ��פ� 0 ���� 33 ���������ͤ�ɽ���ޤ������פȿ����б��ϰʲ����̤�Ǥ���

�ֹ� 0 ������ 8 9 ������ 17 18 ������ 26 27 28 29 30 31 32 33
�� ���� ������ ���� ���� ������ ���� ��� ������ ��� �� �� �� �� �� ȯ ��
��

4.3����¤��

���������ץ饰����Υ��󥿡��ե������Ǥϡ����פξ��֤� MJITehai �Ȥ�����¤�Τ�ɽ���ޤ������ι�¤�Τ� MIPIface.h ���������Ƥ��ꡢ��������ϰʲ��Τ褦�ˤʤäƤ��ޤ���

typedef struct {
        UINT tehai[14];
        UINT tehai_max;
        UINT minshun[4];
        UINT minshun_max;
        UINT minkou[4];
        UINT minkou_max;
        UINT minkan[4];
        UINT minkan_max;
        UINT ankan[4];
        UINT ankan_max;
        UINT reserved1;
        UINT reserved2;
} MJITehai;
�����ѿ������Ƥ�ʲ����������ޤ���

tehai[14]�������Ĥ�����Τ䥢�󥫥�ʳ��Ρ������ˤ�����פξ��֤�ɽ���ޤ���������������ˤϥĥ��פϴޤޤ�ޤ��󡣡֤ޤ����������Τ�����פξ��֤�������Ͼ���˥����Ȥ�����Ϥ���ޤ������ץ饰���󤫤�֤ޤ����������Τ��Ϥ����ϥ����Ȥ���Ƥ���ɬ�פϤ���ޤ���

tehai_max������tehai[14]����˼ºݤˤ���ǡ����ο��������13�ˤʤ�ޤ���

minshun[4]�������ߥ󥷥��ʥ���������ҡˤ�ɽ���ޤ�����ҤǤ�����Ϣ�ʤä�3�Ĥ��פ������äƤ���櫓�Ǥ�����������ΰ��־�������Ρʤ��Ȥ��С�2,3,4�ξ���2�ˤ����ֹ椬�����ͤȤʤ�ޤ���

minshun_max�������ߥ󥷥��ο���

minkou[4], minkou_max�������ߥ󥳤�ɽ���ޤ���

minkan[4], minkan_max�������ߥ󥫥��ɽ���ޤ���

ankan[4], ankan_max���������󥫥��ɽ���ޤ���

reserved1, reserved2������ͽ�󤵤�Ƥ��ޤ���

��

4.4���ָޥ롼���ȼ����ĥ�ʥС�����󣳰ʹߡ�

�������ΥС������Ǥϡ��ָޡץ롼��Τ��Ȥ�ͤ��Ƥ��ޤ���Ǥ��������Τ��ᡢ���ΤޤޤǤ��ָޤ����̤��פζ��̤��Ǥ��ޤ���

�����ָޡץ롼����б����뤿��ˤϡ��ޤ���¤�Υ����פ򥿥���1���ѹ����ޤ�������ˤϸ�Ҥ�MJMI_SETSTRUCTTYPE��å�����������ޤ������������ʬ��������ɤ��Ǥ��礦��

case MJPI_INITIALIZE :
        MJSendMessage = (UINT (WINAPI *)(LPVOID,UINT,UINT,UINT))param2;
        if (inst) if ((*MJSendMessage)(inst,MJMI_SETSTRUCTTYPE,1,0)==MJR_NOTCARED) return 1;
        return 0;
����ȡ����Υץ饰���������뤢�����׾���ʼ��ס��Τ��ס��ĥ��סˤ����ֹ�ˤϡ��֤˴ؤ����ղþ�������褦�ˤʤ�ޤ�������Ū�ˤϡ����ֹ���裶�ӥåȤ������פ������Ǥʤ����Υե饰�ˤʤ�ޤ����Ĥޤꡢ�ָޤ����ֹ�ϡ�
�ָ��ߡ���������4 + 64 = 68
�ָ�������������13 + 64 = 77
�ָ޺�����������22 + 64 = 86
�ˤʤ�ޤ���

�ޤ������פ�ɽ����¤�ΤȤ��ơ�MJITehai ��¤�Τ������ MJITehai1 ��¤�Τ��Ѥ��뤳�Ȥˤʤ�ޤ���

typedef struct {
        UINT tehai[14];
        UINT tehai_max;
        UINT minshun[4];
        UINT minshun_max;
        UINT minkou[4];
        UINT minkou_max;
        UINT minkan[4];
        UINT minkan_max;
        UINT ankan[4];
        UINT ankan_max;
        UINT minshun_hai[3][4];
        UINT minkou_hai[3][4];
        UINT minkan_hai[4][4];
        UINT ankan_hai[4][4];
        UINT reserved1;
        UINT reserved2;
} MJITehai1;
��ĥ���줿�����ѿ��ˤĤ����������ޤ���

minshun_hai[ j ][ i ]������minshun[ i ]�ι�����ɽ���ޤ���minshun_hai[0][ i ]���Ĥ����פ����ֹ桤minshun_hai[1][ i ], minshun_hai[2][ i ]�ϻĤ�Σ��פ����ֹ�Ǥ���

minkou_hai, minkan_hai, ankan_hai ��Ʊ�ͤǤ���

��

5��������

����å������ˤϡ��֤ޤ����������Τ���ץ饰����������Ƥ����MJInterfaceFunc �Ǽ����뤳�Ȥˤʤ��MJPI��å������ȡ��ץ饰���󤫤�֤ޤ����������Τ������MJSendMessage �������MJMI��å�����������ޤ��������ǤϤ��줾��ˤĤ����������ޤ���

5.1 MJPI������

���֤ޤ����������Τ���ץ饰����������Ƥ����å������� MJPI��å������ȸƤӤޤ���MJPI��å��������Ф��Ƥϡ�����Ū�ˡ�̵��ɤ��뤳�Ȥ��Ǥ��ޤ����㳰����ˡ�̵�뤹����ϡ�MJR_NOTCARED ���֤��ޤ������ξ�硢�֤ޤ����������Τ�Ŭ���˽������Ƥ���ޤ�����äơ��ץ饰����Ǥϱ�����������å��������Ф��륳���ɤ�����񤤤ơ����Ȥ�̵�뤹�롢�Ȥ������Ȥ��Ǥ��ޤ������ʤߤˡ�MJPI��å��������Ф���̵��������ͤϸ�§�Ȥ���̵�뤵��ޤ���
 

MJPI����������
����
������
����
��
MJPI_CREATEINSTANCE ɬ�פʺ���ΰ���֤�
��
MJPI_INITIALIZE ���󥹥��󥹽����
��
MJPI_YOURNAME ̾�����֤�
��
MJPI_DESTROY ���󥹥����˴�
��
MJPI_SUTEHAI ����
��
MJPI_ONACTION ¾�ȤΥ��������ؤ��б�
MJPI_STARTGAME Ⱦ��ʰ���˳���
MJPI_ENDGAME Ⱦ��ʰ���˽�λ
MJPI_STARTKYOKU �ɤγ���
MJPI_ENDKYOKU �ɤν�λ
MJPI_BASHOGIME �����
MJPI_ISEXCHANGEABLE ���滲�äβ���
MJPI_ONEXCHANGE ���滲��

���Ǥϡ���å��������������ޤ��礦��

5.1.1 �����Ȥ˱������٤���å�����

MJPI_CREATEINSTANCE

���Υ�å������ϥ��󥹥��󥹤� 0 (NULL) ����ꤷ�������뤳�Ȥ�����ޤ���

��ɬ�פʺ���ΰ�Υ������ʥХ��ȿ��ˤ��֤��Ƥ���������

����͡��������󥹥���������ɬ�פʥ������ʥХ��ȿ���

̵�뤷����硡����0�Ȥߤʤ����

��

MJPI_INITIALIZE

���Υ�å������ϥ��󥹥��󥹤� 0 (NULL) ����ꤷ�������뤳�Ȥ�����ޤ���

�����󥹥��󥹤�����������˰����������Ƥ��ޤ���MJSendMessage �ؿ��ؤΥݥ��󥿤Ϥ��ΤȤ��ˤΤ߼����Ǥ��ޤ���

param2 ����MJSendMessage �ؿ��ؤΥݥ���

����͡��������ェλ�ΤȤ���0������ʳ��ΤȤ���0�ʳ�

̵�뤷����硡�����۾ェλ�Ȥߤʤ����

��

MJPI_YOURNAME

���Υ�å������ϥ��󥹥��󥹤� 0 (NULL) ����ꤷ�������뤳�Ȥ�����ޤ���

����������̾����ɽ��ʸ����ؤΥݥ��󥿤��֤��Ƥ���������ʸ����ν�ü��NULLʸ��(\0)�Ǥ���ɬ�פ�����ޤ����ޤ���̾����Ⱦ��10ʸ�������Ѥʤ�5ʸ���˰ʲ��Ǥʤ��ƤϤʤ�ޤ���

ʸ�������ɤˤĤ���

��Windows �ǡ֤ޤ������פǤϡ�ʸ�������ɤ� ASCII/���ե�JIS �����ɤ���Ѥ��Ƥ��ޤ���������Ф��� WindowsCE �ǡ֤ޤ������ܡפǤϡ�ʸ�������ɤ� UNICODE(UTF-16) ����Ѥ��Ƥ��ޤ����ɤ���Υץ�åȥե�����ˤ��б��Ǥ���褦��ʸ���򰷤��ݤ� TCHAR ���� TEXT �ޥ�������Ѥ��뤳�Ȥ򤪤����ᤷ�ޤ��������η���ޥ����ˤĤ��Ƥϡ�Win32 �ץ�åȥե�����SDK �Υɥ����������������������

����͡�����̾����ɽ��ʸ����ؤΥݥ���

�㡡��
return (UINT)TEXT("�Ƥ���");

̵�뤷����硡����Ŭ����̾�����Ĥ�����

��

MJPI_DESTROY

���Υ�å������ϥ��󥹥��󥹤� 0 (NULL) ����ꤷ�������뤳�Ȥ�����ޤ���

�����󥹥��󥹤��˲�����ľ���������ޤ���ɬ�פʻ�������򤪤��ʤäƤ���������

����͡��������ェλ�ΤȤ���0������ʳ��ΤȤ���0�ʳ�

̵�뤷����硡�����۾ェλ�Ȥߤʤ����

��

MJPI_SUTEHAI

���Τ��פ�������ΤȤ��������ޤ���

LOWORD(param1)���������ֹ�  �����äƤ����ס���������ʳ� : �Ĥ��פ�̵��

����͡���

ñ���פ�ΤƤ��硡����MJPIR_SUTEHAI | x
�꡼���򤫤����硡����MJPIR_REACH | x
�ĥ⤹���硡����MJPIR_TSUMO
ή����硡����MJPIR_NAGASHI
���󤹤��硡����MJPIR_KAN | hai_no

x���������פκ�ü������ֹ��0��13�ˡ�MJITehai ��¤���� tehai ���Ф�ź�����б����롣�ĥ��פϱ�ü�ˤ���ȹͤ������13�������롣
hai_no���������ֹ�

"|"����������¤�ɽ����

̵�뤷����硡����Ŭ�����פ��ΤƤ��ޤ���

��

MJPI_ONACTION

����ʬ��ޤ�ï�������������򵯤��������������ޤ���

LOWORD(param1)���������������򵯤������ȡʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

HIWORD(param1)�����������������оݤȤʤ�ȡʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

param2�����������������������

�Τ��סʥ꡼���ξ�������ˡ�����MJPIR_SUTEHAI | hai_no
�Τ��פ��ƥ꡼��������MJPIR_REACH | hai_no
�ݥ󡡡���MJPIR_PON | hai_no
�����ʺ�ü���Ĥ������ˡ�����MJPIR_CHII1 | hai_no
�����ʱ�ü���Ĥ������ˡ�����MJPIR_CHII2 | hai_no
�����ʴ֤��Ĥ������ˡ�����MJPIR_CHII3 | hai_no
�ߥ󥫥󡡡���MJPIR_MINKAN | hai_no
���󥫥󡡡���MJPIR_ANKAN | hai_no
���󡡡���MJPIR_RON | hai_no
�ĥ⡡����MJPIR_TSUMO
��������MJPIR_NAGASHI

hai_no���������ֹ����������줾�첼��8�ӥåȤ����

����͡�����
���⤷�ʤ�������0
�ݥ󡡡���MJPIR_PON | no_aka5_flag
�����ʺ�ü���Ĥ����ˡ�����MJPIR_CHII1 | no_aka5_flag
�����ʱ�ü���Ĥ����ˡ�����MJPIR_CHII2 | no_aka5_flag
�����ʴ֤��Ĥ����ˡ�����MJPIR_CHII3 | no_aka5_flag
���󡡡���MJPIR_KAN
���󡡡���MJPIR_RON

no_aka5_flag�������ָޤ�ͥ�褵���ƽ�ҡʤ��뤤������ˤ������0�������Ǥʤ�����1

̵�뤷����硡�������⤷�ޤ���

��

5.1.2 ����ۤɽ��פǤʤ���å�����

MJPI_STARTGAME

��Ⱦ��ʰ���˳��ϻ��������ޤ���

����͡�����0���֤��Ƥ���������

̵�뤷����硡����0���֤����ȸ��ʤ���ޤ���

��

MJPI_ENDGAME

��Ⱦ��ʰ���˽�λ���������ޤ���

LOWORD(param1)��������̡�0��3��

(int)param2����������

����͡�����0���֤��Ƥ���������

̵�뤷����硡����0���֤����ȸ��ʤ���ޤ���

��

MJPI_STARTKYOKU

���ɤ����Ϥ����Ȥ��������ޤ���

LOWORD(param1)�������ɡ�0 : ���ɡ�1 : ����ɡ���������4 : ���ɡ���������7 : ��Ͷɡ�8 : ����ɡ���������11 : ���Ͷɡ�12 : �̰�ɡ���������15: �̻Ͷɡ�

LOWORD(param2)��������ʬ�βȡ�0 : �졤1 : �2 : ����3 : �̡�

����͡�����0���֤��Ƥ���������

̵�뤷����硡����0���֤����ȸ��ʤ���ޤ���

��

MJPI_ENDKYOKU

���ɤ���λ����Ȥ��������ޤ���

param1�������ɤ���λ������ͳ���ʲ��Τ����Τɤ줫��

MJEK_AGARI������ï�����¤��ä�
MJEK_RYUKYOKU��������
MJEK_CHONBO������������
(LONG*)param2�������������Ѳ��򤢤�魯 LONG [4] �ؤΥݥ��󥿡�����������ͤϤ��줾�켫ʬ�����ȡ����̡���Ȥ��������Ѳ�ʬ�򤢤�魯��

����͡�����0���֤��Ƥ���������

̵�뤷����硡����0���֤����ȸ��ʤ���ޤ���

��

MJPI_BASHOGIME

�������ΤȤ��������ޤ���

(UINT*)param1������nokori�ؤΥݥ���

UINT nokori[4]

�����˻Ȥ����Ĥ��פθ��ߤξ��֤�ɽ���ޤ���
��ü���פ� nokori[0]����ü���פ� nokori[3]���б����ޤ���
�ͤ����ʾ���פ����ޤ��ĤäƤ����ΤǤ���

����͡���������פΥ���ǥå�����0��3�ˤ��֤��Ƥ���������

̵�뤷����硡����Ŭ���˼�äƤ���ޤ���
 
 

MJPI_ISEXCHANGEABLE

���Υ�å������ϥ��󥹥��󥹤� 0 (NULL) ����ꤷ�������뤳�Ȥ�����ޤ���

�����Υץ饰�������滲�ä��б����Ƥ��뤫�ɤ�����Ƚ�Ǥ��뤿��������ޤ������滲�ä��б�����ˤϡ����Υ�å��������Ф��� 0 ���֤�ɬ�פ�����ޤ������滲�ò�ǽ�ʥץ饰����ˤϡ����滲�ä���ݤ� MJPI_ONEXCHANGE ��å������������ޤ���

����͡��������滲�ä��б�����ץ饰����� 0�������Ǥʤ��ץ饰�����0�ʳ�

̵�뤷����硡�������滲�ä��б����Ƥ��ʤ��Ȥߤʤ����
 
 

MJPI_ONEXCHANGE

�����滲�ä���Ȥ��˰��٤��������ޤ��������ǡ����Υ��å�����ɬ�פʽ����򤪤��ʤäƤ���������
��MJPI_ISEXCHANGEABLE��0�ʳ����֤����ץ饰��������滲�ä��б����Ƥ��ʤ��ץ饰����ˤˤϡ����Υ�å������������ޤ���

LOWORD(param1)���������ߤξ��֤�ɽ�����ʲ��Τ����Τɤ줫��

MJST_INKYOKU�������ɤ���
LOWORD(param2)�������ɡ�0 : ���ɡ�1 : ����ɡ���������4 : ���ɡ���������7 : ��Ͷɡ�8 : ����ɡ���������11 : ���Ͷɡ�12 : �̰�ɡ���������15: �̻Ͷɡ�
HIWORD(param2)��������ʬ�βȡ�0 : �졤1 : �2 : ����3 : �̡�
MJST_BASHOGIME�������������
����͡��������ェλ�ΤȤ���0������ʳ��ΤȤ���0�ʳ�

̵�뤷����硡�����۾ェλ�����Ȥߤʤ����

��

5.2 MJMI������

���ץ饰���󤬾�������ʤɤ���Ū�ǡ֤ޤ����������Τ������å������� MJMI��å������ȸƤӤޤ��������Υ�å������ϡ����Ҥ� MJSendMessage�ؿ����Ѥ�������ޤ����ʤ���MJMI��å������ȤȤ��������̵���ʥǡ����ϸ�§�Ȥ���̵�뤵��ޤ���
 

MJMI����������
������
����
MJMI_GETTEHAI ���פμ���
MJMI_GETMACHI �Ԥ��פμ���
MJMI_GETAGARITEN �����������
MJMI_GETKAWA �Ϥμ���
MJMI_GETKAWAEX �Ϥμ�������ĥ��
MJMI_GETDORA �ɥ�μ���
MJMI_GETSCORE �������
MJMI_GETKYOKU ���ߤζɤμ���
MJMI_GETHONBA ���߲��ܾ줫�����
MJMI_GETREACHBOU ���߾�˽ФƤ���꡼�����ο������
MJMI_GETHAIREMAIN �Ĥ�λ��׿������
MJMI_GETVISIBLEHAIS Ǥ�դ��פξ�˸����Ƥ���������
MJMI_ANKANABILITY ���ʡ����ʲ�ǽ���פμ���
MJMI_KKHAIABILITY �����פ��ɤ����Υ����å�
MJMI_SSPUTOABILITY �������㤫�ɤ����Υ����å�
MJMI_LASTTSUMOGIRI �Ǹ�˼ΤƤ��פ��ĥ��ڤ꤫�ɤ����μ���
MJMI_GETRULE �롼��μ���
MJMI_SETSTRUCTTYPE ��¤�Υ����פ�����
MJMI_FUKIDASHI �᤭�Ф���Ф�
MJMI_SETAUTOFUKIDASHI ��ư�᤭�Ф�������
MJMI_GETWAREME ���ߤγ���ܤ����
MJMI_GETVERSION ���󥿡��ե������ΥС����������

�ʲ��� MJMI��å������������򤷤ޤ���

��

MJMI_GETTEHAI

����ʬ�μ��פ����ޤ����ޤ����оݤΥץ쥤�䡼�μ��פ⡢�����Ƥ�����ʬ�ʥߥ�Ĥ䥢�󥫥�ˤ��������ޤ���

param1�������оݤΥץ쥤�䡼�ʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

(MJITehai*) param2�������ǡ����������뤿��ΥХåե��ؤΥݥ��󥿡��ǡ����� MJITehai��¤���Ǥ���

����͡�����������������1�����Ԥ�������0���֤��ޤ���

��

MJMI_GETMACHI

��Ǥ�դμ��פ��Ԥ��ס��������סˤ����ޤ���

(MJITehai*) param1���������פؤΥݥ��󥿡���������0����ꤹ��ȸ��ߤμ�ʬ�μ��פ���ꤷ�����Ȥˤʤ롣

(UINT*) param2�������Ԥ��פΥǡ����������뤿��ΥХåե��ؤΥݥ��󥿡����ΥХåե��� UINT��������ǡ������礭����ź���ˤ�34�ʾ�Ǥ���ɬ�פ����ꡢ����ǥå��������ֹ����б����ơ��������פ��ͤ�0�ʳ��ˡ������Ǥʤ��פ��ͤ�0�ˤʤ롣

����͡������Ƥ�ѤäƤ������1�������Ǥʤ�����0���֤��ޤ���

��

MJMI_GETAGARITEN

��Ǥ�դμ��פ�Ǥ�դ��פǤ����ä��Ȥ������������ޤ�����������΢�ɥ�Ϲ�θ����ޤ���

(MJITehai*) param1���������פؤΥݥ��󥿡���������0����ꤹ��ȸ��ߤμ�ʬ�μ��פ���ꤷ�����Ȥˤʤ롣

param2�������������פ����ֹ�

����͡����������ä���������

��

MJMI_GETKAWA

��Ǥ�դΥץ쥤�䡼�βϤξ��֤����ޤ���

LOWORD(param1�ˡ������оݤΥץ쥤�䡼�ʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

(UINT*) param2�������ǡ��������뤿��ΥХåե��ؤΥݥ��󥿡��ǡ����� UINT��������ǡ��ΤƤ�줿�פ�������ֹ��η��������ޤ���

HIWORD(param1)�������Хåե����礭����UINT������礭����ź���ˤ�Ϳ���ޤ���

����͡������ǡ������礭�����֤���ޤ���

��

MJMI_GETKAWAEX

��Ǥ�դΥץ쥤�䡼�βϤξ��֤����ޤ������Υ�å�������MJMI_GETKAWA�γ�ĥ�ǤǤ���

LOWORD(param1�ˡ������оݤΥץ쥤�䡼�ʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

(MJIKawahai*) param2�������ǡ��������뤿��ΥХåե��ؤΥݥ��󥿡��ǡ����� MJIKawahai��������ǡ��ΤƤ�줿�פ�������ֹ��η��������ޤ���MJIKawahai ��¤�Τϰʲ��Τ褦���������Ƥ��ޤ���

typedef struct {
    USHORT hai;
    USHORT state;
} MJIKawahai;

hai���������ֹ�
state�����������פξ��֡��ʲ�������������¤ˤʤ�ޤ���

MJKS_REACH�������꡼�������
MJKS_NAKI������¾�Ȥ���Ϫ���줿��


HIWORD(param1)�������Хåե����礭����MJIKawahai������礭����ź���ˤ�Ϳ���ޤ���

����͡������ǡ������礭�����֤���ޤ���

��

MJMI_GETDORA

���ɥ�ϲ�����������ޤ���

(UINT*) param1�������ǡ��������뤿��ΥХåե��ؤΥݥ��󥿡��ǡ����� UINT��������ǡ����ֹ��η��������ޤ����Хåե����礭���� UINT��5��ʬ��20�Х��ȡ˰ʾ�ȤäƤ���������

param2������0 �ˤ��Ƥ���������

����͡������ɥ�ο�

��

MJMI_GETSCORE

��Ǥ�դΥץ쥤�䡼�θ��ߤ����������ޤ���

param1�������оݤΥץ쥤�䡼�ʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

param2������0 �ˤ��Ƥ���������

����͡���������
 

��
MJMI_GETKYOKU

�����ߤζɤ����ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡������ɡʡ�0 : ���ɡ�1 : ����ɡ���������4 : ���ɡ���������7 : ��Ͷɡ�8 : ����ɡ���������11 : ���Ͷɡ�12 : �̰�ɡ���������15: �̻Ͷɡˡ�
 
 

MJMI_GETHONBA

�����߲��ܾ줫�����ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡������ܿ�

��

MJMI_GETREACHBOU

�����߾�˽ФƤ���꡼�����ο������ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡������꡼�����ο�

��

MJMI_GETHAIREMAIN

�����˻Ĥ���Ƥ����סʲ��פ�����ˤο������ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡��������˻Ĥ���Ƥ����סʲ��פ�����ˤο�

��

MJMI_GETVISIBLEHAIS

��Ǥ�դ��פ������ľ�˸����Ƥ��뤫�����ޤ���

param1�������פ����ֹ�

param2������0 �ˤ��Ƥ���������

����͡�������˸����Ƥ����

��

MJMI_ANKANABILITY

�����ʡ����뤤�ϲ��ʤǤ����פ���󤷤ޤ���

(USHORT*)param1���������� USHORT[3] �ؤΥݥ��󥿤���ꤷ�Ƥ�����������������ˤϡ����ʡ����뤤�ϲ��ʲ�ǽ���פ����ֹ����֤���ޤ���

param2������0 �ˤ�����ʲ�ǽ���פ��٤Ƥ���󤵤�ޤ���1 ����ꤹ��ȥ����ܥ����å����Ԥ�졢�����ܤˤʤ��ǽ���Τ����ʤ���󤵤�ޤ���

����͡������ʤǤ����פο�

�㡡�������Ȥ��л��ߤȰ�����ʲ�ǽ�ʾ��֤Ǥ��Υ�å�����������ȡ�����ͤ� 2 ���֤��졢 ((USHORT*)param1)[0] �� 2 ���� ((USHORT*)param1)[1] �� 18 �����åȤ���롣
 
 

MJMI_KKHAIABILITY

�������פ�ή���뤫�ɤ�����Ĵ�٤ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡�����ή���ʤ�����0��ή���������0

��

MJMI_SSPUTOABILITY

����������Ǥ�����뤫�ɤ�����Ĵ�٤ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡�����������ʤ�����0��������������0
 
 

MJMI_LASTTSUMOGIRI

���Ǹ�˼ΤƤ�줿�פ��ĥ��ڤ꤫�ɤ��������ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡������ĥ��ڤ�ξ���1�������Ǥʤ�����0
 
 

MJMI_GETRULE

�����ߤΥ롼������ޤ���

param1�������������롼��μ����ʲ����椫����ꤷ�ޤ���

 
 
param1 ���� �����
MJRL_KUITAN �����Ǥ�̵ͭ 0��̵����1��ͭ��
MJRL_KANSAKI �������դ���̵ͭ 0��̵����1��ͭ��
MJRL_PAO ��ʥѥ��ˤ�̵ͭ 0��̵����1��ͭ��
MJRL_RON ʣ������ΰ��� 0��Ƭ�ϥ͡�1�����֥���ޤ�ͭ�ꡤ2���ȥ�ץ�ͭ��
MJRL_MOCHITEN ������ ������
MJRL_BUTTOBI �֤äȤӤ�̵ͭ 0��̵����1��ͭ��
MJRL_WAREME ����ܤ�̵ͭ 0��̵����1��ͭ��
MJRL_AKA5 �ָޤ�̵ͭ 0��̵����1��ͭ��
MJRL_AKA5S ���ָ��פο� bit0-3:�ָ��ߡ�bit4-7:�ָ�����bit8-11:�ָ޺��ο�
MJRL_SHANYU �����ξ�� 0������̵����1��̵����������2�������󻲾�
MJRL_SHANYU_SCORE ������郎2�ξ�� �ȥåפ�������������̤����������
MJRL_NANNYU �����ξ�� 0������̵����1��̵����������2�������󻲾�
MJRL_NANNYU_SCORE ������郎2�ξ�� �ȥåפ�������������̤����������
MJRL_KUINAOSHI ����ľ���ε��ġ��ػ� 0���ػߡ�1������
MJRL_URADORA ΢�ɥ顦����΢��̵ͭ 0��̵����1��ͭ��ʥ���΢��̵���ˡ�2������΢��ͭ��
MJRL_SCORE0REACH ��������900���ʲ��ǤΥ꡼�� 0���Բġ�1����ǽ
MJRL_RYANSHIBA ���������̵ͭ 0��̵����1��ͭ��
MJRL_DORAPLUS �ɥ�ȥɥ�ɽ���פδط� 0���ɥ�ϥɥ�ɽ���פ�Ʊ����1���ɥ�ϥɥ�ɽ���פμ�����
MJRL_FURITENREACH �ե�ƥ�꡼���β��� bit0��ή�ɻ���bit1���ĥ��
�ƥӥåȤ���0���ե�ƥ�꡼���ϥ����ܡ�1�������ܤˤʤ�ʤ�
MJRL_KARATEN ����ƥ�ΰ��� 0���Ρ��ƥ󰷤���1���ƥ�ѥ�����
MJRL_PINZUMO �ԥ�ť��̵ͭ 0��̵����1��ͭ��
MJRL_NOTENOYANAGARE �Ρ��ƥ��ή���̵ͭ bit0����졤bit1����졤bit2�����졤bit3���̾�
�ƥӥåȤ���0��̵����1��ͭ��
MJRL_KANINREACH �꡼����Υ���ε��ġ��ػ� 0���ػߡ�1���Ԥ����ѤDzġ�2���������ѤDz�
MJRL_TOPOYAAGARIEND �����饹�ȥå׿��¤�����λ 0��Ϣ��1����λ
MJRL_77MANGAN 30��4�ݤ����ӤȤ��뤫 0�����ӤȤ��ʤ���1�����ӤȤ���
MJRL_DBLRONCHONBO ��������λ��������Υ����ܤΰ��� 0�������ܤ�̵����1�������ܤ�ͭ��
param2������0 �ˤ��Ƥ���������

����͡������嵭��ɽ�򻲾Ȥ��Ƥ���������������������Υ롼�뤬���ݡ��Ȥ���Ƥ��ʤ����� MJR_NOTCARED ���֤���ޤ���
 
 

MJMI_SETSTRUCTTYPE

���֤ޤ����������Τȥץ饰����δ֤Ǹ�蘆���ǡ����Υ����ס���¤�Υ������ˤ��ѹ����ޤ�����¤�Υ����פμ��̤��������ͤ�ɽ���졢������0��������1�����������Τ褦��ɽ���ޤ����ǥե���Ȥι�¤�Υ����פϥ�����0�Ǥ���

param1��������¤�Υ������ֹ�

papam2������0 �ˤ��Ƥ���������

����͡������������������ѹ����ι�¤�Υ������ֹ桢���Ԥ������� MJR_NOTCARED ���֤���ޤ���

��

MJMI_FUKIDASHI

���᤭�Ф���ɽ�����ޤ���ɽ�����줿�᤭�Ф��ϡ�������ַФĤȾä��ޤ���

ʸ�������ɤˤĤ���

��Windows �ǡ֤ޤ������פǤϡ�ʸ�������ɤ� ASCII/���ե�JIS �����ɤ���Ѥ��Ƥ��ޤ���������Ф��� WindowsCE �ǡ֤ޤ������ܡפǤϡ�ʸ�������ɤ� UNICODE(UTF-16) ����Ѥ��Ƥ��ޤ����ɤ���Υץ�åȥե�����ˤ��б��Ǥ���褦��ʸ���򰷤��ݤ� TCHAR ���� TEXT �ޥ�������Ѥ��뤳�Ȥ򤪤����ᤷ�ޤ��������η���ޥ����ˤĤ��Ƥϡ�Win32 �ץ�åȥե�����SDK �Υɥ����������������������

(TCHAR*) param1�������᤭�Ф������ɽ��������ʸ����ؤΥݥ��󥿡�ʸ����ν�ü��NULLʸ����'\0'�ˤǤ���ʸ����Ϥ��ޤ�Ĺ�����ʤ��Ǥ���������

param2������0 �ˤ��Ƥ���������

����͡�����������������1�����Ԥ�������0���֤���ޤ���

��

MJMI_SETAUTOFUKIDASHI

���֥ݥ�ס��֥���ס��֥ĥ�פʤɡ����������򵯤������Ȥ��˼�ưŪ��ɽ�������᤭�Ф��Υ����å��Ǥ����ǥե���ȤǤϡ�ɽ������פˤʤäƤ��ޤ���

param1�������᤭�Ф���ưŪ��ɽ������ˤ� 1��ɽ�����ʤ��褦�ˤ���ˤ� 0 �ˤ��ޤ���

param2������0 �ˤ��Ƥ���������

����͡������ѹ��������ξ��֤��֤��ޤ���

��

MJMI_GETWAREME

�����ߤγ���ܤ�ï�ʤΤ������ޤ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡���������ܡʼ�ʬ��0�����Ȥ�1�����̤�2����Ȥ�3��

��

MJMI_GETVERSION

���������ץ饰����Υ��󥿡��ե������ΥС������ʤȸ�������ӥ����ˤ��ֹ�����ޤ����С�������ֹ�����������ǡ��������С������ۤ��礭���ʤ�ޤ����ʤ������ߤΥС������� 12�Ǥ���

param1������0 �ˤ��Ƥ���������

param2������0 �ˤ��Ƥ���������

����͡������С�������ֹ�

��

6���ץ��������

���ץ�����ߥ���Ȥ��ơ��ƥ����ѥץ饰����֤Ƥ���ȡפΥ�������������ޤ�������ä��ɤߤˤ������⤷��ޤ��󤬡����Ѥ��Ƥ���������

�֤Ƥ���ȡץ�����(2003/08/15)�������������

7������¾

�����ʤ������������ץ饰���������ϡ������ʤ��餢�ʤ���°���ޤ����Ǥ����餽�Υץ饰�����ɤ����褦�ȡ�����Ū�ˤ��ʤ��μ�ͳ�Ǥ����Ǥ������������ץ饰���󤬤Ǥ����顢�Ǥ���л�ʺ�ԡˤ�Ϣ�����Ƥ��������ʶ����ǤϤ���ޤ���ˡ�


�����񤤤��͡�������Ȫ ��ʿ

E-mail : [email protected]