問題タブ [windows-nt]
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.
windows-7 - XTYP_POKE で DdeClientTransaction() を呼び出すと、DMLERR_POSTMSG_FAILED を受け取る
帰りの帽子をかぶって...
産業用制御システムと通信するには、DDE を使用する必要があります (申し訳ありませんが、これにはまったく選択肢がありません)。制御システムは DDE サーバーであり、DDE クライアントと同じ Windows 7 PC 上で実行されます。クライアントは、MfcDDE をインターフェイスとして使用し、DdeClientTransaction()
関数を呼び出します。
MfcDDE を呼び出して DDE アドバイス操作を確立した後、DDE アドバイス操作は期待どおりに機能しますDdeClientTransaction(XTYP_ADVSTART
)。対象となるすべてのデータ ポイントは、アドバイス メカニズムを通じて正常に読み取られます。
残念ながら、DdeClientTransaction(XTYP_POKE)
関数を介してデータを書き込もうとすると失敗します。私のクライアント内では、DdeGetLastError()
が返されますDMLERR_INVALIDPARAMETER (16390 0x4006)
。興味深いことに、DDESpy (はい、私は絶望的です) が報告していDMLERR_POSTMSG_FAILED (16396 0x400C)
ます。
クライアントは初期の NT 実装で動作しましたが、再構築して Win7 で実行すると、XTYPE_POKE
失敗しています。可能性として、セキュリティとスレッド化の両方を検討しました。
NT と Win7 の間の DDE セキュリティの変更点を示す銃を見つけることができませんでした。
それが重要な場合、呼び出しは、クライアントの機能コードを呼び出して取得することでDdeClientTransaction()
開始されたスレッドで行われています。WinMain()
AfxWinMain()
CDialog::DoModal()
あなたが提供できる助けをありがとう...
windows - スタックの「論理的ボトム」と「物理的ボトム」のオフセットがランダムなのはなぜですか?
Windbg を使用して Windows 10 マシンでプログラムを実行し、最初のブレークポイントで中断させます。スタックの物理的な最下部 (TEB の stackBase) のアドレスを取得し、 のrsp
値を減算しますntdll!LdrInitializeThunk
。同じプログラムでこれを 5 回実行したところ、5 つの異なる値が得られました。
などで同じことを行うと、同様の結果が得られますntdll!RtlUserThreadStart
。これは、スタックの「論理的な底」が多少ランダム化されていることを示唆しています。何故ですか?これは、スタック内のある種の「ミニ ASLR」ですか? これはどこかに文書化されていますか?
windows-nt - Windows NT のマイクロ カーネルがハードウェアと直接やり取りしない理由
マイクロ カーネル システム構造では、ハードウェアはマイクロ カーネルと相互作用しません。Windows NT のマイクロカーネルがハードウェア層と直接対話しない理由を知りたいのですが?
これが、私がMico カーネルについて話している図です システム構造
regex - Windows (NT) カーネルの正規表現
C で記述された Windows NT カーネル ドライバーで正規表現マッチングを使用したい場合、どのようなオプションがありますか?
Microsoft Windows にはこのための既製の API があるとは思いませんが、間違っていたら訂正してください。外部ライブラリを使用するか、C で独自のパーサーを作成する必要があると想定しています。
これは商用プロジェクト用であるため、GPL オープン ソースはオプションではありません。
ありがとう、
vb6 - Windows Server 2012 上の VB 6.0 Windows サービス
私はVB 6.0で書かれたいくつかのWindowsサービスを持っています...何年もの間、これらのサービスはWindowsサーバー2003で正常に実行されています.今、私の組織ではWindowsサーバー2012の時です..VB 6.0 Windowsサービスアプリケーションを使用してインストールできますWindows Server 2012 の CB 6.0 パッケージですが、コマンド プロンプトからサービスをインストールできません。以下でサービスをインストールしようとしましたが、コマンドはエラーなしで実行されますが、サービスは Services.msc に反映されません
コマンド: xxx.exe -インストール
sql - Excel から SQL Server テーブルを更新し、残りの列データを入力する
SQLPLUS は利用できません
コマンド ラインから SQL スクリプトを呼び出し、パラメーターを渡して使用できるようにする必要があります。このスクリプトは、Excel スプレッドシート (コマンド ラインでも指定されたファイル) からデータを読み取り、データベース内の既存のテーブルにレコードを追加します。
データベース テーブルには、スプレッドシートには存在しない追加の列が 2 つあります。これらの列は月と年です。これらの 2 つの値は、コマンド ラインで入力し、新しいレコードを追加するたびに入力する必要があります。コマンド ラインで何を入力しても、新しいレコードごとに同じ値になります。(テーブル内の既存のレコードはそのままにしておく必要があります)。
手伝ってくれますか?
.sql
osql を使用して、ユーザー、パスワード、データベース、およびファイルを指定することを考えていました。