C/C++
구조체
typedef char Str20[20];
typedef struct UpdateStruct {
int count;
Str20 *update;
} UPDATE;
함수
BOOL GetUpdateList(UPDATE *updateList);
위와 같이 C언어로 작성된 DLL라이브러리가 있습니다.
구조체를 통해 업데이트 리스트를
받아오는 함수입니다.
다음은 이 함수를 C#에서 사용하기 위해 제가 사용한 방법입니다.
C#
구조체
public struct UPDATE
{
public int count;
public IntPtr update;
}
함수
static extern int GetUpdateList(ref UPDATE updatelist);
사용
while(true){
UPDATE updateList = new UPDATE();
GetUpdateList(ref updateList)
/* 업데이트 작업 */
}
이 방법대로 이용하니 업데이트리스트를 받아와지기는 하나 반복적으로 돌게 되면 AccessViolationException이 발생합니다.
해결책이 없을지 궁금하여 질문드립니다.
[최초 등록일: ]
[최종 수정일: 1/26/2015]