問題タブ [getlasterror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
11247 参照

winapi - OpenProcess エラー 87 無効なパラメーター

現在のディレクトリで MinGW ディストリビューションの make.exe を実行し、その STDOUT データと終了コードを利用するプログラムを作成しようとしています。CreatePipe で作成された、データをフェッチする STDOUT を処理するためのハンドルがあります。そのパイプで ERROR_HANDLE_EOF を取得すると、プロセスが終了したと想定し、その終了コードを取得しようとします。

私のコードは、テストした他のすべての MinGW ユーティリティ (pwd、ls など) で動作し、問題なく STDOUT と終了コードを取得できます。しかし、make で試してみると、上記のコードは次のメッセージを表示します。

「OpenProcess(2032) に失敗しました。エラー: 87」

エラーコード87をグーグルで検索したところ、「無効なパラメーター」と表示されました。2032 のような正のプロセス ID について何が無効なのかわかりません。何かアイデアはありますか?

0 投票する
2 に答える
4925 参照

winsock - GetQueuedCompletionStatus は、リモート ソケットの閉鎖時に ERROR_NETNAME_DELETED を返します

I/O-Completion Port を使用して、小さなサーバー クライアントのようなものを書いています。

サーバーとクライアントは、完了ポートを介して AcceptEx 経由で正常に接続されます。クライアントが接続した後、クライアント ソケットは完了ポートに関連付けられ、そのソケットで WSARecv へのオーバーラップ呼び出しが呼び出されます。

クライアント テスト プログラムを閉じるまでは、すべて問題なく動作します。 GetQueuedCompletionStatus()リターンFALSEGetLastErrorリターン

ERROR_NETNAME_DELETED

、これは私には理にかなっています (MSDN の説明を読んだ後)。

しかし、私の問題は、呼び出しが適切な戻り値を返すGetQueuedCompletionStatusため、ソケットの閉鎖による失敗を示すパケットを返すと思ったことです。WSARecvこれは当てはまらないので、どのクライアントのソケットがエラーを引き起こしたのかわからず、必要な方法で動作できません (構造の解放、この特定の接続のクリーンアップなど)...

これを解決する方法に関する提案、またはヒントはありますか?

ありがとう:)

編集: http://codepad.org/WeYINa ​​sO <- 責任のあるコード... "エラー" は、while ループの最初の関数で発生します (呼び出しGetCompletionStatus()は、GetQueuedCompletionStatus() のラッパーであり、正常に動作します)他のケース) [ここはくだらない&乱雑に見えるので、そこに投稿しました]

0 投票する
2 に答える
4527 参照

c++ - ReadFile()は失敗したと言っていますが、エラーコードはERROR_SUCCESSです

ReadFile()Windowsでシリアルポートからデータを読み取るために使用しています。このコードは、ある時点では正常に機能していましたが、現在は失敗しており、問題の原因を突き止めようとしています。シリアル構成またはタイムアウトに問題があるとは思えません。いずれも変更されていないためです。

ReadFile()エラーが発生したことを示すfalseを返します。ただし、すぐにの値を確認するとGetLastError()、0、つまり。が返されますERROR_SUCCESS読み取ったバイト数は0なので、確かに何かがおかしいと思う傾向がありますが、そのエラーコードはまったく役に立たないのです。

何か案は?ありがとう。

編集:ここにいくつかの関連するコードスニペットがあります:

0 投票する
2 に答える
2413 参照

c++ - wglShareLists はエラー 6 で失敗します: ERROR_INVALID_HANDLE ハンドルが無効です

TGLForm と TGLForm2 の 2 つのクラス間で HPBUFFERARB を共有しようとしています。(FBO を試してみましたが、Borland Builder 6 の古いバージョンでは FBO を使用して管理できません)

私の目標は、2 つの openGL ウィンドウに同じバッファを表示することです。

だから私は最初のフォームの外側でこのオブジェクトを宣言しました:

最初の GLForm と同じピクセル形式になるように初期化します。

これが私の最初の DrawScene です: "PaintGL()" 描画はこのフォームに完全に描画されます:

そして、ここに私の 2 番目の GLForm の DrawScene があります: 問題は、色付きのクワッドしか見えないのに、このクワッドがテクスチャ化されていないか、テクスチャが空であることです:

=> このテクスチャが空かどうかを確認するにはどうすればよいですか?

それをビットマップにエクスポートして確認しますか?

=> DrawSceneForm2 の wglShareLists は GetLastError でエラーを返します:

エラー 6 : ERROR_INVALID_HANDLE ハンドルが無効です。

=> 誰かがこの wglShareList または私のコードで何が間違っているかを理解していますか?

0 投票する
1 に答える
129 参照

winapi - さまざまな Windows API 呼び出しで発生する可能性のあるすべてのエラーの完全なリストはありますか?

CreateFile例えば。を取得INVALID_HANDLE_VALUEしたとき、 によって返される可能性のある値はどれGetLastErrorですか? MSDNは言いません。いくつか言及されており、他の人も推測できますが、どうすれば(もしあったとしても)私のswitch声明が決して到達しないと確信できdefaultますか?

0 投票する
4 に答える
4634 参照

c++ - EnumProcessModulesEx がエラー コード 299 (ERROR_PARTIAL_COPY) を返すのに失敗する

関数を呼び出してEnumProcessModulesExいますが、失敗します。私は64ビットマシンで実行しています。以下にコードを示します。

0 投票する
1 に答える
1073 参照

c++ - GetLastError called in a catch block yields incorrect value

Fun exploring some legacy code today. Ran into this little number:

GetLastError() returns 0! Why is that? The functions are actually a bit more complicated than this. They do include a few things on the stack (DWORDs, CString, BYTE[]). What should I be looking for?

Logs look like:

Log1: 1

Log2: 0

0 投票する
2 に答える
1888 参照

c++ - エラー 6 を返す GetThreadContext、ハンドルが無効ですか?

出力:

タスク マネージャーで中断されたプロセスを確認できますが、無効なハンドル エラーが発生していますか?

また、プログラムの開始時に GetLastError() が ERROR_FILE_NOT_FOUND を返すのはなぜですか?

0 投票する
1 に答える
15839 参照

winapi - CreateFile() は INVALID_HANDLE_VALUE を返しますが、GetLastError() は ERROR_SUCCESS です

CreateFile()を使用してシリアル ポートを開いています。CreateFile()一貫して returnINVALID_HANDLE_VALUEGetLastError()returnを引き起こすテストケース (再配布するには複雑すぎる) がありERROR_SUCCESSます。一見すると、このバグは、あるスレッドがポートを開き、別のポートが閉じるのとまったく同じ場合にのみ発生します。ポートを開くスレッドは、この問題に遭遇します。

これが違いを生むかどうかはわかりませんが、コードの後半で、CreateIoCompletionPortを使用してポートを CompletionPort に関連付けます。

これが私のコードです:

このようなことはあってはならないと確信しています。私は何か間違ったことをしていますか?API が正しい結果を返すようにするにはどうすればよいですか?


詳細: このコードは、私が開発したシリアル ポート ライブラリから取得したものです: JPeripheral

実際の (サニタイズされていない) ソースコードは次のとおりです。

これが私が得る実際の出力です:

0 投票する
2 に答える
1009 参照

c# - ManagedC++での奇妙なGetLastErrorリターン

GetLastErrorとマネージC++で本当に奇妙な問題があります。GetLastErrorは、アンマネージコードからマネージコードに移行した後、非常に奇妙なものを返します。

エラーコード:122-システムコールに渡されたデータ領域が小さすぎます。

さらに、渡されたstrMessageはサーバーに送られます。

管理されていない機能:

マネージコード:

ログ出力