SDK
はまりました。 Windows Server 2008 R2+XenApp 6.5 64bit/非Unicodeアプリケーション(32bit/Unicodeアプリケーションでは検証していません) ユニバーサルプリンタドライバで作られたプリンタに対してDeviceCapabilities(DC_BINNAMES)を呼び出す 手元ではこ…
ちょっとはまったので。 WindowsにはDeviceCapabilitiesという、デバイスの能力を取得するAPIがあります。このAPIでプリンタでサポートしている用紙の種類を取ってくることができます。 ところが、プリンタ…とくに仮想プリンタによってはかなり応答に時間が…
GUIアプリケーションだったら起動すれば、ユーザーアクション以外では終了しないのでとても簡単です。起動してからゆうゆう、リモートマシンでデバッガアタッチすればいいのです。 しかしコンソールアプリケーションの場合、ユーザーの応答なんて待たないも…
Tech Fielders コラム | マイクロソフト ちょっとサボっていましたが、Tech Fildersにコラムが公開されました。何でもいいという話で、一番いいのはTechEdのLTをコラムにすればどうでしょう?とアドバイスもいただきました。しかし、あれをコラムにしても面…
id:kkamegawa:20101121:p1 にid:NyaRuRuさんからコメントいただきました。ありがとうございます。 実際のところは Windows Installer がファイル更新する際に,別プロセスからオープンされていて MOVEFILE_DELAY_UNTIL_REBOOT 扱いになったファイルがあると…
昨日ざっくりとタスク機能の歴史を見たので、今日はもうちょっと細かいところを。 Task Scheduler API 2.0の変更で一番気になったのが文字列と日付の扱いです。1.0ではTASK_TRIGGER構造体を作って、ITaskTrigger::SetTriggerへ渡すだけでした。DST(Daylight …
Windowsのスケジュール機能は大きく分けて三世代あります。 Windows NT 4.0までのTask Schedulerサービス Windows 2000/Windows XP/Windows Server 2003のTask SchedulerサービスVer1 Windows Vista/Windows Server 2008以降のTask SchedulerサービスVer2 Wi…
Windows Vista以降、コンソールセッションとサービスセッションは分離されてしまいました。 セッション 0 の分離 - Windows 7 対応アプリケーションの互換性 Windows Vista® および Windows Server® 2008 アプリケーション互換性解説書 私もそうだったのです…
以前はShell Lightweight Functionの便利関数とかなかったので、自分たちでいろいろ作っていたと思います。文字操作系などはstrtokとかでいろいろやっていた人も多いでしょうし、strlenとかいまだに使っているコードよく見かけます。 最近はまずShell Lightw…
MOUSE_EVENT_RECORD structure (Windows) ではMOUSE_HWHEELEDイベント(コンソールでのマウスホイールの水平動作イベント)はWindows 2000以降みたいなことを書いていますが、実際WinCon.hを見るとこうなっています。 #define MOUSE_MOVED 0x0001 #define DOUB…
Win32APIで、10240 → "10K" みたいに補助単位付き文字列に変換してくれるのがあったような気がするんだけど、名前もわからないし効率的なググり方もわからない。Shell APIだったっけ。誰か知ってたら教えてください!2010-10-12 18:44:48 via webというつぶ…
Windows SDK 7.1を_WIN32_WINNT_WIN7でgrepするとよくわかりますが、追加されたAPIとかは確かにあるのですが、それなりに手が入っています。英語のMSDN Libraryを検索しても出てこないものとか…。 WSDSetConfigurationOption function (Windows) に指定する…
今日は小ネタ。何気なくMSDN Libraryを見ていたら見つけた変な(?)API。 FloatMax function (Windows) Windows 7では標準で、VistaではPlatform updateパッチをインストールすればOK。Platform Updateがどんなものかはここ参照。たぶん今Windows Updateすれば…
昨日のWindows 7で文字列比較すると2は10よりも小さくできるよ - 新日々此何有哉を書いた後、「ASCIIは大丈夫。じゃあFullWidth(いわゆる全角)の10と2では」と思ってやってみました。 #define WINVER 0x602 #include <windows.h> #include <locale.h> LPCTSTR lpszCSTR[4] = {_</locale.h></windows.h>…
文字列で2と10を比較すると、10のほうが小さいと判定されます。リストボックスなどにこんな風に出るといわれたことありませんか? 1 10 2 こんな感じ。lstrcmpやCompareStringといったAPIでは先頭の文字で判断しちゃうからこうなるんでしょうね。で、あまり…
長い間、NTFSチューニングの一つに「短いファイル名を生成させない」という技がありました。Windows Server 2008 R2のベストプラクティスアナライザーでも遅いディスクに対してはこのアドバイスが下されます。 NTFS Performance with Numerous Long Filename…
A new CWDIllegalInDllSearch registry entry is available to control the DLL search path algorithm ライブラリをLoadLibrary(Ex)で読み込むと攻撃が成立してしまう可能性があるというセキュリティアドバイザリが公開されて、緩和策のモジュールも上記KB…
[id:kkamegawa:20100522:p1]で紹介した本が今日届きました。いや、聞いてはいたけどほんとに薄い本です。読むためにはWinDbgと基本的なアセンブラの知識は必要で、そのうえでx64では何が違うのかということを紹介しています。X64 Windows Debugging: Practic…
.NET Frameworkのパラレルライブラリだけで、ネイティブコードのConcurrency Runtimeは翻訳されないだろうと思ったら、ちゃんと人間の翻訳が入っていたんですね。すばらしい。 同時実行ランタイム 並列ランタイムの「タスク スケジューラー」も間違いではな…
Interprocess Communication Between 32-bit and 64-bit Applications (Windows) 「ハンドルは64bitだけど下位32bitしか使ってないよ。32bitアプリケーションとやりとりするとき困るからね」みたいなことを書いています。あれ、じゃあ16bitと32bitアプリケー…
IsOS function (Windows) つらつらとShell Lightweight Functionsを見ていたらなんだこれってAPI。これWindows Server 2003まででしか使えない(Vista/7ではサポート外)っていうAPIですね。今ではちゃんとVerifyVersionInfoを使いましょうってことになってい…
.NETでプリンタを扱うにはどうすればいい?というよくある質問があって、PRINTER_INFO_2使いましょうとか、GetPrinter使いましょうとかいろいろ書かれていました。 だけど、マーシャリングコード書くの面倒だし(誰かのコピペやPInvoke.net使えばいいけど)、W…
知ってるひとがそばにいると心強い これ見て思い出したんだけれども、やはり「クロス開発環境」を提供するのはめんどいのかなぁと思った。会社の開発環境で「生成したきゃ64bit環境用意しろ」というものがあって、びっくりしたのですよ。 今はHyper-Vで楽に6…
Windows 7 x64環境でApplication Manifestが無視されるようだというNyaRuRuさんの指摘、先日自動更新されたKB978637で直っているようですね。NyaRuRuさんの日記の該当エントリでご自身がコメントとして追記されていました。それはそれとして…。 http://twitt…
id:kkamegawa:20100131:p1のブックマークコメントでいただきましたが、TaskDialogはVistaから搭載されたAPIです。昔はSDKに誤りがあったんですけどね。私が書いた別blog。 リソースが見つかりませんでした。 Windows SDK 6.0AではMSDNとヘルプに間違いがあっ…
Windows 7 のペイントでは保存せずに閉じても警告音が鳴りません: 世の中は不思議なことだらけ さくしまさんのところで面白い話題が出ていたので、ちょっとだけ確認してみました。私は普段音を出していないので気付いていませんでした。まず一言で言ってしま…
Download Office Sample: Input Method Editor (IME) Header File: imepad.h from Official Microsoft Download Center Office IME 14(Office IME 2010)リリースに伴い、恒例のSDKに入りそうで入らないヘッダがダウンロードセンタに登場。誰が使うのかは置い…
[id:kkamegawa:20091222:p1]にコメントいただきました。名無しさん、ありがとうございます。 名無し wrote: 昔のDLL限界の話は64かと 95/NT4でTLSスロットの数は64個→CRTはインスタンスごとにTLSを使う→CRTを静的リンクするとDLL毎にTLSスロットを1つ使う→あ…
twitterで@mskwtさんとか@NyaRuRuさん(バカンス中なのにw)とかとDLLのrebase話について盛り上がってる。私も自分のお仕事で作っているライブラリ類はNT 3.1時代にrebaseの重要性を懇々と説かれたので、特に共有するようなDLLはもれなくrebaseしています。DL…
Windows 7の XP Mode で外字を使いたい場合: 世の中は不思議なことだらけ Windows 7 XPモード その6 XPモードで外字を利用出来ない。 - みゃうのリカバリーをする前に - Yahoo!ブログ WindowsでEUDC(外字)を使う場合、重要な制約があります。それは「ユーザ…