[問題] DllImport
小弟使用dllimport 引入廠商的API 結果出現 嘗試是讀取或寫入受保護的記憶體,
這通常表示其他記憶體毀損
C++ API
int __stdcall SKQuoteLib_GetStockByNo([in] const TCHAR* lpszStockNo,
[in,out] TStock* pStock)
typedef struct STOCK
{
short m_sStockidx; // 系統自行定義的股票代碼
char m_cMarketNo; // 市場代號0x00上市;0x01上櫃;0x02期貨;0x03選擇權;0x04興櫃
char m_caStockNo[20]; // 股票代號
char m_caName[10]; // 股票名稱
int m_nOpen; // 開盤價
int m_nHigh; // 最高價
int m_nLow; // 最低價
int m_nClose; // 成交價
} TStock;
小弟的
C#
[DllImport("SKQuoteLib.dll",CharSet=CharSet.Ansi)]
public static extern int SKQuoteLib_GetStockByNo(string strStockNo, ref TStock stk);
Status= SKQuoteLib_GetStockByNo("2330", ref stock);
[StructLayout(LayoutKind.Sequential)]
public struct TStock
{
public int Stockidx;
public byte MarketNo;
public string StockNo;
public string StockName;
public long Open;
public long High;
public long Low;
public long Close;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.234.186
→
06/12 06:54, , 1F
06/12 06:54, 1F
推
06/12 11:14, , 2F
06/12 11:14, 2F
推
06/12 11:16, , 3F
06/12 11:16, 3F
討論串 (同標題文章)