ユーザ、グループ、コンピュータなどのDirectoryオブジェクト用のインターフェイスを定義します。
ユーザとグループはローカルとドメインの両方があるので、共通用として定義します。
ユーザリスト画面はこんな感じです。(クリックすると新しいウィンドウで拡大図が表示されます。)
この画面上に表示されてる情報のみ扱うこととします。
更新機能はいずれ。まずは表示だけということで。
インターフェイスは次の4つを定義します。
IDirectory 'Directory オブジェクトのプロパティを定義
IDomain 'ドメインの Directory オブジェクトのプロパティを定義
IUser 'User オブジェクトの共通プロパティを定義
IGroup 'Group オブジェクトの共通プロパティを定義
VB
Public Interface IDirectory
Inherits IDisposable
Property Description As String '説明を取得または設定
ReadOnly Property Entry As DirectoryEntry '関連付けられた DirectoryEntry を取得
ReadOnly Property IsDisposed As Boolean 'オブジェクトが破棄されているかどうかを取得
ReadOnly Property Name As String '名前を取得
End Interface
C#
public interface IDirectory : IDisposable
{
string Description { get; set; } //説明を取得または設定
DirectoryEntry Entry { get; } //関連付けられた DirectoryEntry を取得
bool IsDisposed { get; } //オブジェクトが破棄されているかどうかを取得
string Name { get; } //名前を取得
}
VB
Public Interface IDomain
Inherits IDirectory
ReadOnly Property DisplayPath As String '表示用の所属パスを取得
End Interface
C#
public interface IDomain : IDirectory
{
string DisplayPath { get; } //表示用の所属パスを取得
}
VB
Public Interface IUser
Inherits IDirectory
Property Disabled As Boolean 'アカウントが無効かどうかを取得
Property FullName As String 'フルネーム・表示名を取得または設定
ReadOnly Property Native As IADsUser 'Entry の ADSI User オブジェクトを取得
End Interface
C#
public interface IUser : IDirectory
{
bool Disabled { get; } //アカウントが無効かどうかを取得
string FullName { get; set; } //フルネーム・表示名を取得または設定
IADsUser Native { get; } //Entry の ADSI User オブジェクトを取得
}
VB
Public Interface IGroup
Inherits IDirectory
ReadOnly Property Native As IADsGroup 'Entry の ADSI Group オブジェクトを取得
End Interface
C#
public interface IGroup : IDirectory
{
IADsGroup Native { get; } //Entry の ADSI Group オブジェクトを取得
}