2009-11-01から1ヶ月間の記事一覧

P/Invoke ツール

VS2008ではアドインのPInvoke.net使えなかったんで。 P/Invoke Interop Assistant http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=14120 結構いいね。 ネットならpinvoke.net http://www.pinvoke.net/

マネージオブジェクトのポインタ変換

マネージオブジェクトからIntPtrに変換 GCHandle gch = GCHandle.Alloc( targetObject, GCHandleType.Pinned ); IntPtr ptr = gch.AddrOfPinnedObject();配列からIntPtrに変換 Marshal.UnsafeAddrOfPinnedArrayElement( targetArray, 0 );これで先頭ポインタ…

NTFS代替データストリーム(ADS)一覧取得

NTFSに設定されている代替データストリーム(ADS)の一覧を表示したい。 いろいろ調べた結果 NtQueryInformationFile を使うのがよさげらしい。 dsofile.dll とかもあったんだけど、欲しい情報が取れなかったんですべてを取れるわけじゃないっぽい。 ネタ元 …

SafeFileHandle

FileStream.Handle が Obsolete 属性が付いてた。 いつの間にって思ったけど2.0からかわったみたい。んで代わりに使用するのが SafeFileHandle。 http://msdn.microsoft.com/ja-jp/library/microsoft.win32.safehandles.safefilehandle.aspxこんなのあったん…

サービス削除コマンド

たまに使うけど、たまにだからすぐ忘れる sc delete servicename いつも net しか思い出せなくて、しかも net では削除は使えないことまで思い出すんだけどね。

ドメインコンローラー内のオブジェクトを列挙

所属ドメコンで権限がある場合。 所属ドメコン内のオブジェクトを列挙。 参照設定:Com の「Active DS Type Library」と「System.DirectoryServices」が必要。 static void Main( string[] args ) { try { DirectoryEntry rootEntry = new DirectoryEntry( "…

識別子取得

LDAP+C# 参照設定:System.DirectoryServicesが必要。 DirectoryEntry directoryEntry = new DirectoryEntry( "LDAP://rootDSE" ); Console.WriteLine( directoryEntry.Properties["defaultNamingContext"].Value);LDAP+VBS Set objDomain = GetObject( "LDA…