Beispiel #1
0
VOID 
CALLBACK 
pNdasEventProc(
			   DWORD dwError, 
			   PNDAS_EVENT_INFO pEventInfo, 
			   LPVOID lpContext)
{
	if (NULL == pEventInfo) {
		ATLTRACE(_T("Event Error %d (0x%08X)\n"), dwError, dwError);
		return;
	}

	HWND hWnd = reinterpret_cast<HWND>(lpContext);

	WPARAM wParam(0);
	LPARAM lParam(0);

	switch (pEventInfo->EventType) 
	{
	case NDAS_EVENT_TYPE_DEVICE_ENTRY_CHANGED:
		::PostMessage(hWnd, WM_APP_NDAS_DEVICE_ENTRY_CHANGED, wParam, lParam);
		break;
	case NDAS_EVENT_TYPE_LOGICALDEVICE_ENTRY_CHANGED:
		::PostMessage(hWnd, WM_APP_NDAS_LOGICALDEVICE_ENTRY_CHANGED, wParam, lParam);
		break;
	default:
		;
	}
}
Beispiel #2
0
/*
<FIELD NAME='STATUS' VALUE=''> </FIELD>STATUS/LOCK/CLOSE
*/
int __fastcall ASEditSvr::exeRestfulCommand(WideString asOperation,WideString asParams,WideString &asResult)
{
  PCPtr<PCXML> lParam(new PCXML(asParams));
  PCPtr<PCXML> lResult(new PCXML("<DATASETS/>"));
  String lsID,lsAction,lsField,lsValue;
  _di_IXMLNode lParentNode;
  //<ACTION>DEFAULT</ACTION>
  lParentNode = lParam->SubNode["ACTION"];
  if(lParentNode)
	lsAction = BLNODETEXT(lParentNode).Trim();
  if(lsAction.IsEmpty()) lsAction = "DEFAULT";
   Action = lsAction;
  lParentNode = lParam->SubNode["PARAM"];
  if(lParentNode)
	 lsID = BLNODETEXT(lParentNode).Trim();
  if((!BLSAMESTR(asOperation,"add")) && lsID.IsEmpty()) throw Exception("必须提供ID参数");
  if(BLSAMESTR(asOperation,"add")){
	  Retrieve("-1");
	  lParentNode = lParam->SubNode["DATASETS"];
	  fromXML(lParentNode,true);
	  Save();
	  lParentNode = lResult->SubNode[""];
	  BLNODEATTSET(lParentNode,"ERI",ERI);
	  toXML(lParentNode);
  }
  else if(BLSAMESTR(asOperation,"get")){
	  Retrieve(lsID);
	  lParentNode = lResult->SubNode[""];
	  BLNODEATTSET(lParentNode,"ERI",ERI);
	  toXML(lParentNode);
  }
  else if(BLSAMESTR(asOperation,"set")){
	  Retrieve(lsID);
	  lParentNode = lParam->SubNode["DATASETS"];
	  fromXML(lParentNode,false,true);
	  Save();
	  lParentNode = lResult->SubNode[""];
	  BLNODEATTSET(lParentNode,"ERI",ERI);
	  toXML(lParentNode);
  }
  else
	 throw Exception("错误操作命令" + asOperation);
  asResult = lResult->XML->Text;
  return 1;
}