구조체의 단일 특성에 여러 값을 넣어야합니다. 값을받을 특성은 LPSTR이며,이 모든 것을 a로 전달하려고했습니다. 벡터, 컴파일,하지만 내가 원하는대로 작동하지 않습니다.구조체의 단일 특성에 여러 값 넣기
내 구조체 :
내가 할 노력하고있어으로typedef struct _wfs_pin_caps
{
WORD wClass;
WORD fwType;
............More...............
BOOL bIDConnect;
WORD fwIDKey;
WORD fwValidationAlgorithms;
WORD fwKeyCheckModes;
LPSTR lpszExtra; //This attribute must receive more than one value
} WFSPINCAPS, * LPWFSPINCAPS;
:
HRESULT WINAPI WFPGetInfo(HSERVICE hService, DWORD dwCategory, LPVOID lpQueryDetails, DWORD dwTimeOut, HWND hWnd, REQUESTID ReqID) {
...
result = WFMAllocateMore(sizeof(WFSPINCAPS), lpWFSResult, &lpWFSResult->lpBuffer);
...
//This Values
vector<LPSTR> Tokens;
Tokens[1] = (LPSTR)"Value1";
Tokens[2] = (LPSTR)"Value2";
Tokens[3] = (LPSTR)"Value4";
Tokens[4] = (LPSTR)"Value5";
PinCapabilities.lpszExtra = (LPSTR)&Tokens; //Pass HERE
memcpy(lpWFSResult->lpBuffer,&PinCapabilities,sizeof(WFSPINCAPS));
...
return WFS_SUCCESS;
코드를 적게 사용하여 문제를 재현 할 수 있습니까? – silentboy
내가 질문 편집 –
당신이 무엇을하려고하는지 명확하지 않지만 맨 위부터, 'sizeof (WFSPINCAPS)'는 컴파일 타임에 결정되는 상수라는 점에 유의하십시오. 마술처럼 증가하여 "Value1"등의 길이를 포함하지 않습니다. –