//
// JAPI JgWuԍ擾API(JmssCurrentJobNo֐) TvvO
//  (C)NEC Corporation/NEC Soft, Ltd. 1995,2003
//  
//    2003.7.26 Create by NEC Soft, Ltd.
//

#include <windows.h>

#include "JMSS.H"

//
//  R}hFJGETJNO
//  @\FgJMSSŊĎĂ邩ǂ𒲂܂B
//        JMSSŊĎĂꍇAg̃WuԍJMSST[o
//        擾\܂B
//        G[ꍇɂ́AG[bZ[WƃG[R[h\܂B
//  FJGETJNO 
//
//	 IlF 0 I
//			  1 ُI
//

//////////////////////////////////////////////////////////////
//	萔錾
//////////////////////////////////////////////////////////////

// Rs[^
#define	MAX_COMPUTERNAME_LENGTH		15

//////////////////////////////////////////////////////////////
//	vg^Cv錾
//////////////////////////////////////////////////////////////
BOOL  PutStdOut(LPSTR);

//////////////////////////////////////////////////////////////
//	
//////////////////////////////////////////////////////////////

//
// C֐
//
//@F int  argc; R}hC̐
//         char argv; R}hC̕ւ
//                    |C^z
//
//@ԂlF 0 I
//           1 ُI
//
int main(
	int		argc,
	char	*argv[])
{
	long	lJobNo;											// 擾Wu(g)̃Wuԍ
	char	caJmssServerName[MAX_COMPUTERNAME_LENGTH+1];	// 擾JMSST[o
	DWORD	dwResult;										// ֐߂l
	char	caMessage[256];         						// Wo͗pobt@

	// JgWuԍ擾
	dwResult = JmssCurrentJobNo(
						&caJmssServerName[0],			// JmssT[oi[̈
						&lJobNo);						// Wuԍi[̈

	// ֐̕ԋpR[h̔
	switch (dwResult)
	  {
		case 0:											// I
			break;
		case JMSS_PARAM_ERROR:							// w肵p[^s
			wsprintf(caMessage, "w肵p[^słB(G[R[h:%08lx)\r\n", dwResult);
			PutStdOut(caMessage);
			return 1;

		case JMSS_NOWATCH:								// ݂̃Wu͊ĎĂȂ
			wsprintf(caMessage, "̃WuJMSSŊĎĂ܂B(G[R[h:%08lx)\r\n", dwResult);
			PutStdOut(caMessage);
			return 1;
		case JMSS_NOGET_SERVERNAME:						// ftHgT[o擾s
			wsprintf(caMessage, "̃}VJMSST[o擾ł܂B(G[R[h:%08lx)\r\n", dwResult);
			PutStdOut(caMessage);
			return 1;
		default:										// ُ̑̈
			wsprintf(caMessage, "JgWuԍ擾Ɏs܂B(G[R[h:%08lx)\r\n", dwResult);
			PutStdOut(caMessage);
			return 1;
	  }

	// JMSST[oAWuԍ\
	wsprintf(caMessage, "JMSST[oF%s  WuԍF%ld\r\n", caJmssServerName, lJobNo);
	PutStdOut(caMessage);

	return 0;
}

//
// Wo͂Ɏw肳ꂽo͂
//
//@F
//		LPSTR	pStr;	
//
//@ԂlF TRUE  I
//           FALSE ُI
//
BOOL PutStdOut(LPSTR pStr)
{
	DWORD	WriteLength;

	if (WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),		// Wo̓nh
					(LPVOID)pStr,                       // f[^obt@AhX
					strlen(pStr),                       // f[^
					&WriteLength,                       // ܂ꂽoCg
					NULL) == FALSE)                     // dI/OɕKvȍ\̂̃AhX
		return FALSE;

	if (strlen(pStr) != WriteLength)
		return FALSE;

	return TRUE;
}
