와 호환되지 않습니다,하지만 난 콜백에 문제가 있습니다.LPOVERLAPPED_COMPLETION_ROUTINE 기능
내가 갖는 후속 오류 : 유형의 인수 "무효가 (*) (DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, lpOverlapped 매개 lpOverlapped 매개가)" "LPOVERLAPPED_COMPLETION_ROUTINE"유형의 매개 변수와 호환되지 않는
무엇 내가 틀렸어?
// Callback
void onWriteComplete(
DWORD dwErrorCode,
DWORD dwNumberOfBytesTransfered,
LPOVERLAPPED lpOverlapped) {
return;
}
BOOL writeToOutputFile(String ^outFileName, List<String ^> ^fileNames) {
HANDLE hFile;
char DataBuffer[] = "This is some test data to write to the file.";
DWORD dwBytesToWrite = (DWORD) strlen(DataBuffer);
DWORD dwBytesWritten = 0;
BOOL bErrorFlag = FALSE;
pin_ptr<const wchar_t> wFileName = PtrToStringChars(outFileName);
hFile = CreateFile(
wFileName, // name of the write
GENERIC_WRITE, // open for writing
0, // do not share
NULL, // default security
CREATE_NEW, // create new file only
FILE_FLAG_OVERLAPPED,
NULL); // no attr. template
if (hFile == INVALID_HANDLE_VALUE) {
return FALSE;
}
OVERLAPPED oOverlap;
bErrorFlag = WriteFileEx(
hFile, // open file handle
DataBuffer, // start of data to write
dwBytesToWrite, // number of bytes to write
&oOverlap, // overlapped structure
onWriteComplete),
CloseHandle(hFile);
}
고마워요! 이제 작동 중입니다 –
그건 그렇고, 다시 도와 주실 수 있습니까? 여기서 콜백은 전혀 호출되지 않습니다. 기다리고 있지만 아무 일도 일어나지 않습니다. –
문서를 읽어야합니다. 반환 값을 확인하지 않습니다. 또는 GetLastError를 호출합니다. –