kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

SDK

Direct 2Dへの道は遠い

本当はKB971512をインストールすると、Windows 7の新機能がどれだけVista/2008で動くかどうか検証しようと思ったのですが、ちょっと別のこと書きます。 サンプルのDirect 2D配下にある、Interactive3dTextSampleをコンパイルしようとして、思いのほか遠回り…

Common Log File System(CLFS)で書いてみる。

昨日に引き続き、CLFS。少し試行錯誤してわかってきました。今日やったのはログを追記するあたり。 Appending Records to a Log (Windows) CreateLogFileで領域を作り、ポリシーを設定する(自動拡張ポリシーはWindows Server 2003 R2ではうまく動かないみた…

Common Log File System(CLFS)

ログ書き込みのパフォーマンスをあげるべく、Common Log File System(以下CLFS)とEvent Tracing(ETW)を検討しています。まずはCLFS…見事に日本語ないですね。System.IO.Logの説明見たほうがいい…とまではいきませんが。 Visual Studio 2008 SP1に付属してい…

Desktop Heapの値を取得する

Windowsではデスクトップヒープというものがあります。メニューやアイコン、ウィンドウを作られるたびにここから取られます。なくなるとプロセスの起動に失敗します。 Desktop Heap Overview - Ntdebugging Blog - Site Home - MSDN Blogs Windows Server 20…

プロセス数を簡単に取得する。

ウィンドウであればEnumWindows、フォントであればEnumFontFamiliesexなんてのがあって、これにコールバック関数を渡しておけば、どんどん取得できるのですが…プロセス一覧だと、EnumProcessでは、そういう気のきいたことないですね…。psapi.dllだからなんで…

GetTempFileNameが基準とする時間

GetTempFileName 関数 このAPIの第三引数は一意な値をシステム時刻から取得して、実際にファイルを作成するとあります。 0 を指定すると、この関数は、lpPrefixString パラメータで指定した接頭辞に、システム時刻に基づいて生成された 16 進文字列を連結し…

Parental Control API

日本語では「保護者による制御」のようです。見かけないなーと思ったら、Active Directory参加しているマシンではこの機能が非表示になります。この検証のためにわざわざ一台非AD環境を用意する羽目に…。 Using Logging APIs for Parental Controls (Windows…

アンチウィルスと高頻度の書き込みオープン

ウィルス活動といえば、やはりファイルやレジストリへの書き込んで、何か行うというイメージがあります。そして、アンチウィルスソフトは書き込みオープンでリアルタイム検査を行う設定になっているものをよく見かけます。 通常の使用では問題ないとしても、…

ペアレンタルコントロールAPI

英語ではParental Controlだけど、日本語では「保護者による制御」となるはず(Windows 7 RCでの話)。出来合いのものを使うだけってことではなくて、実はこれ3rd party側が自前で追加することもできます。 What's New in Windows 7 Parental Controls (Window…

SMB 2.0でアクセスした場合、しばらくファイルが見えない

File.Exists /_access / GetFileAttributes / FindFirstFile,FindNextFile / _stat behavior over SMB 2.0 - Windows SDK Support Team Blog - Site Home - MSDN Blogs クライアントから共有フォルダにファイルを作って成功したとしても、少しの間ファイルの…

LogonUser/LogonUserEx/LogonUserExExW

LogonUser function (Windows) LogonUserEx function (Windows) LogonUserExExW function (Windows) ユーザー名とパスワードを指定してアクセストークンを取得するLogonUser。これが発展して、ログオンプロパイダ(NTLMとnegotiate)を選択して、ユーザープロ…

Windows 7 RC用SDK

Microsoft Download Center やっと出た。今度からIA64,x64,x86と異なるISOイメージが用意されています。まだダウンロード中なのですが、x86環境でx64のクロス開発する人はどうするんだろう?

XPでは暗号化を解除してもタイムスタンプが維持される

[id:kkamegawa:20070812:p1]にコメントをいただきました。ありがとうございます。 PANDA wrote: 私も同様のものを作成しちゃいました。 http://hp.vector.co.jp/authors/VA022513/program.html#tskで、ついさっき手元の XP SP2 で試して気が付いたのですが、…

プリンタデバイスに対するDeviceCapabilitiesが遅いことがある

DeviceCapabilities function (Windows)を使えば、各プリンタのトレイ一覧や、インストール済み用紙サイズなどを取得することができます。しかし、プリンタによってはこの関数からの応答にものすごく…数分というオーダーで時間がかかることがあります。 ドラ…

プロセスハンドルの有効期限

void foo(void) { STARTUPINFO startInfo; PROCESS_INFORMATION ps; SecureZeroMemory(&startInfo, sizeof(STARTUPINFO)); SecureZeroMemory(&ps, sizeof(PROCESS_INFORMATION)); startInfo.cb = sizeof(STARTUPINFO); TCHAR szCmdLine[_MAX_PATH] = _T("not…

Windows Shell系API

Shell Reference 昔IE 4.0をインストールして、Active Desktopを有効にすると使えるようになったWindows Shell API。昔はIEのバージョンによって使える機能があったりなかったりしたので、敬遠されていたかもしれません。そしてそういうことがあったからか、…

printfデバッグ

2009-03-22 - 未来のいつか/hyoshiokの日記 私もVisual Studio使う場合、場当たり的なprintfデバッグはやらないです。だってprintfデバッグよりもVisual Studioのほうが高機能なんだもん。printfデバッグに類する技を使うのは開発環境でどうしようもなくサポ…

Windows 95用のWinsock 2.0

はてなダイアリー 確かに素のWindows 95はWinSock 2.0に対応していないのですが、サポートからダウンロードすることができます。まだWindows 95の需要があるんでしょうか? Microsoft Support とはいえ、実家の両親が使っているパソコンもネットにつながって…

CF_INACTIVEFONTSの場所

id:yutakapontan wrote CF_INACTIVEFONTSマクロはどこのヘッダに定義されているのでしょうか? まず、Windows 7/Windows Server 2008 R2 SDKをダウンロードしてください。 Microsoft Download Center この中のCommdlg.hで定義されています。id:kkamegawa:200…

ChooseFontと互換フラグ

ref:[id:kkamegawa:20090125:p2] ChooseFontの話を以前書いたけど、Windows 7 Beta1では以下の手順を踏めば非表示状態のフォントも全部表示されます。 C/C++の場合、WINVERに0x0601を定義する(#define WINVER 0x0601)。 CHOOSEFONT構造体のFlagsにCF_INACTIV…

Windows 7のChooseFontでフォントが列挙できない話

ちょっと聞いていて、調べようと思っていたのですが、今日ひょんなことから教えてもらいました。Windows 7では言語設定(正確にはちょっと違うんですが)によってフォントの表示/非表示が動的に変更されます。 これはメモ帳のフォント選択初期状態。Arialが選…

Visual C++ 2008 Express Editionの制限

Windows 7でANSI版のChooseFont()というAPIがうまく動いていないという話を聞いて調べようとVC 2008 Express Editionでサンプルを作ろうとしたら! Express Editionではrcファイルが編集できないんですねorz。rcファイルから右クリックで「ファイルを開くア…

XPでは2GB以上のBMPを印刷できない

大規模なビットマップ ファイルが完全に印刷できません。 へぇ…Vistaはどうなんだろう。ちょっと実験してみたいが時間がない。

drwtsn32の-pオプション

会社で聞かれたので。 -p pid デバッグ用のプロセスIDを指定します。これじゃわからないですよね。-pのあとに「現在起動している」プロセスIDを指定すると、強制的にフォールトを発生させて、ワトソン博士のログ(スタックトレースほか)と、ダンプメモリを出…

Windows SDKアンインストールは余裕を持って

SDK

Visual StudioのService Packインストールもいい加減時間がかかるのですが、もっとかかるのがWindows SDKのアンインストール。Visual Studioにも含まれていますが、あれだけではライブラリとヘッダだけなので、まだいいのです。こちらはいろいろアセンブリが…

サービスのデバッグ方法

WindowsService のデバッグ このコメントのほう。 1.ビルドしてできたexeをinstallutilを使ってインストール 2.サービス起動 3.VSのメニューから[ツール]-[プロセスにアタッチ]で、インストールしたexeを選択 で確かいけます。 でも、デバッグを終えたら サ…

資料公開

極東IT Engineersでしゃべった時の資料を公開しました。プログラムデモはもう少し。いや、TFSの管理対象から外さないといけないかなぁと…。 極東IT Engineers設立記念勉強会資料公開

ファイルシステム上の文字コード

Windowsの文字コードって… | Okumura's Blog 結論は大体出ているようですが、 ファイルシステム上はUnicodeで保存されます。 unicodeのファイル名を扱う場合、ちゃんとUnicodeのAPIを使用するか、_UNICODEを定義して生成しましょう。 (追記) id:ishisakaさん…

NomalizeStringじゃなくて…

Windows APIを使った、Unicodeの正規化はNormalizeStringというAPIが用意されている…とありますが、以前mkIIのほうで書いたとおり、どうも使っていいんだかよくわかりません。少なくともstatic linkでやると、「normalization.dllがロードできません」と言わ…

.NET Frameworkと長いファイル名

Long Paths in .NET, Part 3 of 3 Redux [Kim Hamilton] - BCL Team Blog - Site Home - MSDN Blogs BCL TeamのBlogでながーい間をあけたあとの最終回での解説。Win32 APIでも全部が全部260byte超をサポートしているわけじゃない(たとえばLoadLibrary)から、…