CreateFile()を使用して名前付きパイプを開こうとしています:
g_hPipe = CreateFile(szPipeName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
ここで、szPipeNameはのよう\\\\.\\pipe\\service_name
になり、INVALID_HANDLE_VALUEが返されます。
MSDNによると、OPEN_EXISTINGフラグは、ファイルが存在しない場合にのみエラーを返しますが、GetLastError()
ERROR_ALREADY_EXISTS(183)を示します。ファイルが存在することはわかっているので、OPEN_EXISTINGを使用しています... MSDNは、これはOPEN_ALWAYSまたはCREATE_ALWAYSが設定されている場合にのみ発生することを示唆しています。結果が関数を参照していることを確認するために、SetLastError(0)
直前に呼び出します。CreateFile()
GetLastError()
CreateFile()
私はかなり検索しましたが、このエラーが発生する理由を示唆するものは何も見つかりませんでした。どんな助けでも大歓迎です。