Har lite funderingar på hur jag ska anropa en funktion (i dll) från ANSI-C. Det är inte kopplingen mot dll:en som är problemet utan funktionen och dess parametrar. Men vadå språk (!C++) == NULL? *jävlas bara*SAFEARRAY, VT_ARRAY | VT_VARIANT, i ANSI-C(!C++)
T ex hur konvertera VT_BSTR till char-sträng, hur packa upp en SAFEARRAY.
Exempel på funktion:
long getChildren(
VARIANT inID,
VARIANT * outNoOfChildren,
VARIANT * outChildList);
Parameters Description:
- return, VT_I4, Return value for this function.
- InID, VT_BSTR, size 20, In, Parent-Id
- OutNoOfChildren, VT_I4 size 3, Out
- OutChildList, VT_ARRAY |VT_VARIANT, size dynamic (SAFEARRAY), Out, All assembled children (see below).
Operation:
The outNoOfChildren parameter is used to tell the receiver how many children those were actually in the structure when the message was sent.
The outChildList parameter contains the following data, repeated for each child:
- Individual, VT_BSTR, size 20
- Product Number, VT_BSTR, size 24
- Revision, VT_BSTR, size 7
Total number of characters for each child: 51
Hur skulle ett sådant anrop se ut från ANSI-C om jag vill få ut VT_BSTR informationen i char-strängar? Har ni inget eget förslag så kanske ni har några bra länkar där jag kan läsa vidare, hittar en del info på nätet men där verkar det vara mest C++ och att man använt sig av MFC.
Tack på förhand.Sv: SAFEARRAY, VT_ARRAY | VT_VARIANT, i ANSI-C(!C++)
Skämt åsido, säger http://msdn2.microsoft.com/en-us/library/ms256088.aspx dig något?