Win32 API 日本語リファレンス
ホームStorage.FileSystem › IDiskQuotaControl

IDiskQuotaControl

COM
IID7988b572-ec89-11cf-9c00-00aa00a14f56継承元IConnectionPointContainer自前メソッド開始 vtbl5

メソッド 21

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 5 HRESULT Initialize(LPWSTR pszPath, BOOL bReadWrite)
pszPathLPWSTRinディスククォータを制御する対象ボリュームのルートパス(例: "C:\")を指す文字列へのポインタである。
bReadWriteBOOLinオブジェクトを読み書き可能(TRUE)で開くか読み取り専用(FALSE)で開くかを指定する。
vtbl 6 HRESULT SetQuotaState(DWORD dwState)
dwStateDWORDinボリュームに設定するクォータの有効状態(無効/トラッキング/強制など)を表すフラグ値を指定する。
vtbl 7 HRESULT GetQuotaState(DWORD* pdwState)
pdwStateDWORD*inout現在のクォータ有効状態を表すフラグ値を受け取る変数へのポインタである。
vtbl 8 HRESULT SetQuotaLogFlags(DWORD dwFlags)
dwFlagsDWORDinしきい値超過や制限超過の発生時にイベントログへ記録する条件を示すログフラグを指定する。
vtbl 9 HRESULT GetQuotaLogFlags(DWORD* pdwFlags)
pdwFlagsDWORD*inout現在のクォータログフラグを受け取る変数へのポインタである。
vtbl 10 HRESULT SetDefaultQuotaThreshold(LONGLONG llThreshold)
llThresholdLONGLONGin新規ユーザーに適用される既定の警告しきい値をバイト単位で指定する。無制限の場合は NOLIMIT を指定する。
vtbl 11 HRESULT GetDefaultQuotaThreshold(LONGLONG* pllThreshold)
pllThresholdLONGLONG*inout現在の既定警告しきい値(バイト単位)を受け取る変数へのポインタである。
vtbl 12 HRESULT GetDefaultQuotaThresholdText(LPWSTR pszText, DWORD cchText)
pszTextLPWSTRin既定警告しきい値を人間が読める書式の文字列として受け取るバッファへのポインタである。
cchTextDWORDinpszText バッファのサイズを文字数で指定する。
vtbl 13 HRESULT SetDefaultQuotaLimit(LONGLONG llLimit)
llLimitLONGLONGin新規ユーザーに適用される既定のディスク使用量上限をバイト単位で指定する。無制限の場合は NOLIMIT を指定する。
vtbl 14 HRESULT GetDefaultQuotaLimit(LONGLONG* pllLimit)
pllLimitLONGLONG*inout現在の既定ディスク使用量上限(バイト単位)を受け取る変数へのポインタである。
vtbl 15 HRESULT GetDefaultQuotaLimitText(LPWSTR pszText, DWORD cchText)
pszTextLPWSTRin既定ディスク使用量上限を人間が読める書式の文字列として受け取るバッファへのポインタである。
cchTextDWORDinpszText バッファのサイズを文字数で指定する。
vtbl 16 HRESULT AddUserSid(PSID pUserSid, DISKQUOTA_USERNAME_RESOLVE fNameResolution, IDiskQuotaUser** ppUser)
pUserSidPSIDin追加するユーザーのセキュリティ識別子(SID)を指すポインタである。
fNameResolutionDISKQUOTA_USERNAME_RESOLVEinログオン名の解決を同期的・非同期的のいずれで行うか、または解決しないかを指定する列挙値である。
ppUserIDiskQuotaUser**out追加されたユーザーを表す IDiskQuotaUser インターフェイスポインタを受け取る変数へのポインタである。
vtbl 17 HRESULT AddUserName(LPWSTR pszLogonName, DISKQUOTA_USERNAME_RESOLVE fNameResolution, IDiskQuotaUser** ppUser)
pszLogonNameLPWSTRin追加するユーザーのログオン名(domain\user 形式)を指す文字列へのポインタである。
fNameResolutionDISKQUOTA_USERNAME_RESOLVEin名前解決を同期的・非同期的のいずれで行うかを指定する列挙値である。
ppUserIDiskQuotaUser**out追加されたユーザーを表す IDiskQuotaUser インターフェイスポインタを受け取る変数へのポインタである。
vtbl 18 HRESULT DeleteUser(IDiskQuotaUser* pUser)
pUserIDiskQuotaUser*inクォータ情報から削除するユーザーを表す IDiskQuotaUser インターフェイスポインタである。
vtbl 19 HRESULT FindUserSid(PSID pUserSid, DISKQUOTA_USERNAME_RESOLVE fNameResolution, IDiskQuotaUser** ppUser)
pUserSidPSIDin検索対象ユーザーのセキュリティ識別子(SID)を指すポインタである。
fNameResolutionDISKQUOTA_USERNAME_RESOLVEin名前解決を同期的・非同期的のいずれで行うかを指定する列挙値である。
ppUserIDiskQuotaUser**out見つかったユーザーを表す IDiskQuotaUser インターフェイスポインタを受け取る変数へのポインタである。
vtbl 20 HRESULT FindUserName(LPWSTR pszLogonName, IDiskQuotaUser** ppUser)
pszLogonNameLPWSTRin検索対象ユーザーのログオン名(domain\user 形式)を指す文字列へのポインタである。
ppUserIDiskQuotaUser**out見つかったユーザーを表す IDiskQuotaUser インターフェイスポインタを受け取る変数へのポインタである。
vtbl 21 HRESULT CreateEnumUsers(PSID* rgpUserSids, DWORD cpSids, DISKQUOTA_USERNAME_RESOLVE fNameResolution, IEnumDiskQuotaUsers** ppEnum)
rgpUserSidsPSID*inout列挙対象とするユーザーの SID 配列へのポインタである。NULL の場合は全ユーザーが対象となる。
cpSidsDWORDinrgpUserSids 配列内の SID の個数を指定する。
fNameResolutionDISKQUOTA_USERNAME_RESOLVEin名前解決を同期的・非同期的のいずれで行うかを指定する列挙値である。
ppEnumIEnumDiskQuotaUsers**outユーザーを列挙する IEnumDiskQuotaUsers インターフェイスポインタを受け取る変数へのポインタである。
vtbl 22 HRESULT CreateUserBatch(IDiskQuotaUserBatch** ppBatch)
ppBatchIDiskQuotaUserBatch**out複数ユーザーの変更をまとめて適用する IDiskQuotaUserBatch インターフェイスポインタを受け取る変数へのポインタである。
vtbl 23 HRESULT InvalidateSidNameCache()
vtbl 24 HRESULT GiveUserNameResolutionPriority(IDiskQuotaUser* pUser)
pUserIDiskQuotaUser*in名前解決の優先順位を引き上げる対象のユーザーを表す IDiskQuotaUser インターフェイスポインタである。
vtbl 25 HRESULT ShutdownNameResolution()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDiskQuotaControl "{7988B572-EC89-11CF-9C00-00AA00A14F56}"
#usecom global IDiskQuotaControl IID_IDiskQuotaControl "{7988B571-EC89-11CF-9C00-00AA00A14F56}"
#comfunc global IDiskQuotaControl_Initialize                      5 wstr,int
#comfunc global IDiskQuotaControl_SetQuotaState                   6 int
#comfunc global IDiskQuotaControl_GetQuotaState                   7 var
#comfunc global IDiskQuotaControl_SetQuotaLogFlags                8 int
#comfunc global IDiskQuotaControl_GetQuotaLogFlags                9 var
#comfunc global IDiskQuotaControl_SetDefaultQuotaThreshold        10 int64
#comfunc global IDiskQuotaControl_GetDefaultQuotaThreshold        11 var
#comfunc global IDiskQuotaControl_GetDefaultQuotaThresholdText    12 wstr,int
#comfunc global IDiskQuotaControl_SetDefaultQuotaLimit            13 int64
#comfunc global IDiskQuotaControl_GetDefaultQuotaLimit            14 var
#comfunc global IDiskQuotaControl_GetDefaultQuotaLimitText        15 wstr,int
#comfunc global IDiskQuotaControl_AddUserSid                      16 sptr,int,sptr
#comfunc global IDiskQuotaControl_AddUserName                     17 wstr,int,sptr
#comfunc global IDiskQuotaControl_DeleteUser                      18 sptr
#comfunc global IDiskQuotaControl_FindUserSid                     19 sptr,int,sptr
#comfunc global IDiskQuotaControl_FindUserName                    20 wstr,sptr
#comfunc global IDiskQuotaControl_CreateEnumUsers                 21 sptr,int,int,sptr
#comfunc global IDiskQuotaControl_CreateUserBatch                 22 sptr
#comfunc global IDiskQuotaControl_InvalidateSidNameCache          23
#comfunc global IDiskQuotaControl_GiveUserNameResolutionPriority  24 sptr
#comfunc global IDiskQuotaControl_ShutdownNameResolution          25
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。