Pregunta

Me gustaría saber si tal vez hay algunas buenas soluciones para el manejo de tipos complejos no se pueden importar en IDL. Mi mayor preocupación es el uso de tipos de vectores para obtener instrucciones _m128 simmed decir. XMVECTOR. declspec no es reconocido por el compilador midl manera de importar el tipo de datos __m128 está fuera de la cuestión. Miré en el uso de wire_marshal hacer esto, pero creo que tiene que ser consciente de la typedef del tipo __m128. Si hay alguna manera de foreword_declare XMVECTOR para su uso con wire_marshal no tengo ni la más remota sobre cómo iba a hacerlo.

He pensado en ocultar el tipo encapsulando lo que ya estará siendo que estoy encapsular los tipos de datos para la reflexión. He jugado un poco con algunas ideas aquí, incluyendo la herencia de ambas interfaces de COM y C ++. Aquí no hay nada parecía demasiado prometedor.

Muchas personas me han dicho que no se utilice COM y, sinceramente, han pasado muchas horas no codificantes y simplemente tratando de resolver esta materia hacia fuera. Mi lógica sigue viendo un montón de ventajas a usar COM y las alternativas incluyendo MyCom verá tan lento y plagado de problemas. Si este es mi mayor problema con el uso COM debería mantener prólogo en constante movimiento o las soluciones va a retrasar esta solicitud, teniendo en cuenta su dependencia de la presentación gráfica y modelado computacional en tiempo real? Estoy buscando en hacer cosas en la escala de representación granjas o las nubes o algo por el estilo ... hablo grande y sé que soy novato así que por favor, no tratar de impresionar sólo buscan informarse ... He hecho mucho de la investigación!

THX, BekaD:

¿Fue útil?

Solución

deja un poco de un sabor extraño en la boca: \

typedef XMVECTOR* PTR_XMVECTOR;

typedef struct _ARRAY_XMVECTOR {
        unsigned int size_array;
        [size_is(size_array*SIZE_OF_XMVECTOR)] PTR_XMVECTOR VECTOR_ARRAY;
    } ARRAY_XMVECTOR;

typedef [wire_marshal(MARSHAL_AS)] ARRAY_XMVECTOR MY_VECTOR_ARRAY;

Me hubiera editado en o añadido como un comentario, pero probablemente el más cercano este hilo llegará a su respuesta ... probablemente la más obvia .... lo siento por responder a mi propia pregunta: /

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top