#include <windows.h>
#include <tchar.h>
#include <stdio.h>
typedef struct
{
DWORD dwParameter; // DWORD parameter to fiber (unused)
DWORD dwFiberResultCode; // GetLastError() result code
HANDLE hFile; // handle to operate on
DWORD dwBytesProcessed; // number of bytes processed
} FIBERDATASTRUCT, * PFIBERDATASTRUCT, * LPFIBERDATASTRUCT;
#define RTN_OK 0
#define RTN_USAGE 1
#define RTN_ERROR 13
#define FIBER_COUNT 3
#define READ_FIBER 1 // array index to read fiber
#define WRITE_FIBER 2 // array index to write fiber
int __cdecl _tmain(int argc, TCHAR* argv[])
{
LPFIBERDATASTRUCT fs;
if (argc != 3)
{
printf("Usage: %ls <SourceFile> <DestinationFile>\n", argv[0]);
return RTN_USAGE;
}
fs = (LPFIBERDATASTRUCT)HeapAlloc(
GetProcessHeap(), 0,
sizeof(FIBERDATASTRUCT) * FIBER_COUNT);
if (fs == NULL)
{
printf("HeapAlloc error (%d)\n", GetLastError());
return RTN_ERROR;
}
fs[READ_FIBER].hFile = CreateFile(
argv[1],
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,
NULL
);
if (fs[READ_FIBER].hFile == INVALID_HANDLE_VALUE)
{
printf("CreateFile error (%d)\n", GetLastError());
return RTN_ERROR;
}
fs[WRITE_FIBER].hFile = CreateFile(
argv[2],
GENERIC_WRITE,
0,
NULL,
CREATE_NEW,
FILE_FLAG_SEQUENTIAL_SCAN,
NULL
);
if (fs[WRITE_FIBER].hFile == INVALID_HANDLE_VALUE)
{
printf("CreateFile error (%d)\n", GetLastError());
return RTN_ERROR;
}
fs[READ_FIBER].dwParameter = 0x12345678;
fs[WRITE_FIBER].dwParameter = 0x54545454;
CloseHandle(fs[READ_FIBER].hFile);
CloseHandle(fs[WRITE_FIBER].hFile);
HeapFree(GetProcessHeap(), 0, fs);
return RTN_OK;
}
第78行,vc2019提示使用未初始化記憶體問題

代碼應該怎么改?
uj5u.com熱心網友回復:
LPFIBERDATASTRUCT fs;是個指標 ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/247415.html
標籤:基礎類
上一篇:win10下呼叫mouse_event的API函式,無法識別Or連接,代碼混亂。
下一篇:沒有引數串列匹配的多載函式
