ベンダーのAPIを使用してメッセージのxml部分を取得する際に問題が発生しました。動作の例として:getDestination(void * message、void * destination、void * size)
vendordestinationtype_t dest;
getDestination(msg_p, &dest, 16);
printf("Received message. (Destination: %s).\n", dest.dest);
生成:受信したメッセージ。(目的地:いくつかの目的地)。
メッセージのXML部分を取得するには、getXmlPtr(void * msg、void ** xml_ptr、void * xml_length)である関数が必要です。
char ptr[10000];
int size;
getXmlPtr(msg_p, (void**)&ptr, &size);
printf("Received message. (XML: %s).\n", ptr);
したがって、問題は、xml情報を取得できるようにptrを宣言して渡す方法です(ベンダーのドキュメントは本当に悪いです)。ほとんどの場合、引数は、入力するアプリケーションポインタへのポインタである必要があります。戻り時のメッセージXMLデータポインタ。プログラマーは、返されたvoidポインターを、アプリケーションに適した任意の参照にキャストできます。