#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <rt.h>
#include <winerror.h>
#include "SampleAPP.h"
#include "CbFile.h"


HRESULT FileGetfile(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetfile() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetvariable(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetvariable() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetfilenames(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetfilenames() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetvariablenames(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetvariablenames() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileExecute(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileExecute() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	strCallback.pvntOutPara->vt = VT_BSTR;
	strCallback.pvntOutPara->bstrVal = SysAllocStr(L"OK");
	return S_OK;
}

HRESULT FileCopy(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileCopy() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}

HRESULT FileDelete(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileDelete() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}

HRESULT FileMove(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileMove() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}

HRESULT FileRun(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileRun() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：BSTR
	strCallback.pvntOutPara->vt = VT_BSTR;
	strCallback.pvntOutPara->bstrVal = SysAllocStr(L"TaskName");
	return S_OK;
}

HRESULT FileGetdatecreated(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetdatecreated() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetdatelastaccessed(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetdatelastaccessed() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetdatelastmodified(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetdatelastmodified() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FileGetpath(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetpath() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：BSTR
	strCallback.pvntOutPara->vt = VT_BSTR;
	strCallback.pvntOutPara->bstrVal = SysAllocStr(L"Path");
	return S_OK;
}

HRESULT FileGetsize(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetsize() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：long
	strCallback.pvntOutPara->vt = VT_I4;
	strCallback.pvntOutPara->lVal = 12345;
	return S_OK;
}

HRESULT FileGettype(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGettype() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：BSTR
	strCallback.pvntOutPara->vt = VT_BSTR;
	strCallback.pvntOutPara->bstrVal = SysAllocStr(L"Type");
	return S_OK;
}

HRESULT FileGetvalue(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetvalue() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FilePutvalue(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FilePutvalue() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}

HRESULT FileGetattribute(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetattribute() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：long
	strCallback.pvntOutPara->vt = VT_I4;
	strCallback.pvntOutPara->lVal = 12345;
	return S_OK;
}

HRESULT FileGethelp(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGethelp() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：BSTR
	strCallback.pvntOutPara->vt = VT_BSTR;
	strCallback.pvntOutPara->bstrVal = SysAllocStr(L"Help");
	return S_OK;
}

HRESULT FileGetname(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetname() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：
	// TODO: 未使用
	return S_OK;
}

HRESULT FileGettag(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGettag() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：
	// TODO: 未使用
	return S_OK;
}

HRESULT FilePuttag(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FilePuttag() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：
	// TODO: 未使用
	return S_OK;
}

HRESULT FileGetid(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileGetid() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：VARIANT
	// TODO:
	return S_OK;
}

HRESULT FilePutid(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FilePutid() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}

HRESULT FileRelease(CALLBACK_T strCallback)
{
	PTime(FALSE, TRUE);
	PLog(LOG_INFO, "info   : FileRelease() \n");
	PrintReceivePacket(strCallback.vntInPara, strCallback.nInParaNum);
	// 応答：なし
	return S_OK;
}
