IDiskQuotaUser
COM公式ドキュメント
ボリュームのクォータ情報ファイル内にある 1 件のユーザークォータエントリを表します。
メソッド 15
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
DiskQuotaUser オブジェクトの一意な識別子 (ID) 番号を取得します。
| pulID | DWORD* | inout | ディスククォータユーザーに関連付けられた名前文字列。 |
戻り値
このメソッドは S_OK を返します。
ディスククォータユーザーに関連付けられた名前文字列を取得します。
| pszAccountContainer | LPWSTR | in | ユーザーのアカウントコンテナーの名前。この値は NULL にできます。ディレクトリサービス情報を持たないアカウントの場合、この文字列は単にドメイン名になります。ディレクトリサービス情報が利用可能なアカウントの場合、この文字列は終端のオブジェクト名を除いた正規名 (canonical name) になります。 |
| cchAccountContainer | DWORD | in | アカウントコンテナーバッファーのサイズ (文字数単位)。pszAccountContainer が NULL の場合は無視されます。 |
| pszLogonName | LPWSTR | in | ユーザーがコンピューターへのログオン時に指定した名前を受け取るバッファーへのポインター。この値は NULL にできます。返される名前の形式は、ディレクトリサービス情報が利用可能かどうかによって異なります。 |
| cchLogonName | DWORD | in | ログオン名バッファーのサイズ (文字数単位)。pszLogonName が NULL の場合は無視されます。 |
| pszDisplayName | LPWSTR | in | クォータユーザーの表示名を受け取るバッファーへのポインター。この値は NULL にできます。情報が利用できない場合は、長さ 0 の文字列が返されます。 |
| cchDisplayName | DWORD | in | 表示名バッファーのサイズ (文字数単位)。pszDisplayName が NULL の場合は無視されます。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 排他ロックの取得に失敗しました。 |
ユーザーのセキュリティ識別子 (SID) の長さをバイト単位で取得します。
| pdwLength | DWORD* | inout | SID の長さ (バイト単位)。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| pdwLength パラメーターが NULL です。 | |
| ユーザーの SID が無効です。 | |
| 排他ロックの取得に失敗しました。 |
ユーザーのセキュリティ識別子 (SID) を取得します。(IDiskQuotaUser.GetSid)
| pbSidBuffer | BYTE* | inout | SID。 |
| cbSidBuffer | DWORD | in | バッファーのサイズ (バイト単位)。必要なバッファーサイズを取得するには IDiskQuotaUser::GetSidLength メソッドを使用してください。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| pbSidBuffer パラメーターが NULL です。 | |
| ユーザーの SID が無効です。 | |
| 書き込み先のバッファーサイズが不足しています。 | |
| 排他ロックの取得に失敗しました。 |
ボリューム上のユーザーの警告しきい値を取得します。
| pllThreshold | LONGLONG* | inout | 警告しきい値。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pllThreshold パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームにおけるユーザーの警告しきい値をテキストとして取得します。
| pszText | LPWSTR | in | テキスト文字列。 |
| cchText | DWORD | in | 書き込み先バッファーのサイズ (文字数単位)。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pszText パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリューム上のユーザーのクォータ制限値を取得します。
| pllLimit | LONGLONG* | inout | 制限値。この値が -1 の場合、ユーザーのクォータは無制限です。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pllLimit パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームにおけるユーザーのクォータ制限をテキストとして取得します。
| pszText | LPWSTR | in | テキスト文字列。 |
| cchText | DWORD | in | バッファーのサイズ (文字数単位)。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pszText パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリューム上のユーザーのクォータ使用量を取得します。
| pllUsed | LONGLONG* | inout | クォータの使用量。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pllUsed パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームにおけるユーザーのクォータ使用量をテキストとして取得します。
| pszText | LPWSTR | in | テキスト文字列。 |
| cchText | DWORD | in | バッファーのサイズ (バイト単位)。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pszText パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ユーザーの警告しきい値、ハードクォータ制限、およびクォータ使用量の各値を取得します。
| pbQuotaInfo | void* | inout | クォータ情報を受け取る DISKQUOTA_USER_INFORMATION 構造体へのポインター。 |
| cbQuotaInfo | DWORD | in | クォータ情報構造体のサイズ (バイト単位)。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| pQuotaInfo パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイルシステムエラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリューム上のユーザーの警告しきい値を設定します。
| llThreshold | LONGLONG | in | 警告しきい値 (バイト単位)。 |
| fWriteThrough | BOOL | in | この値が TRUE の場合、値はただちにボリュームのクォータファイルへ書き込まれます。それ以外の場合、値はクォータユーザーオブジェクトのローカルメモリにのみ書き込まれます。通常はこの値を TRUE に設定してください。 IDiskQuotaUserBatch インターフェイスを使用して複数のユーザークォータエントリを同時に変更する場合は、FALSE に設定します。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| 予期しないファイルシステムエラーが発生しました。 |
ボリューム上のユーザーのクォータ制限値を設定します。
| llLimit | LONGLONG | in | クォータ制限 (バイト単位)。この値が -1 の場合、ユーザーのクォータは無制限です。 |
| fWriteThrough | BOOL | in | この値が TRUE の場合、値はただちにボリュームのクォータファイルへ書き込まれます。それ以外の場合、値はクォータユーザーオブジェクトのローカルメモリにのみ書き込まれます。通常はこの値を TRUE に設定してください。 IDiskQuotaUserBatch インターフェイスを使用して複数のユーザークォータエントリを一度に変更する場合は、FALSE に設定します。 |
戻り値
このメソッドはファイルシステムエラー、または次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 排他ロックの取得に失敗しました。 | |
| 予期しないファイルシステムエラーが発生しました。 |
クォータユーザーオブジェクトに格納されているクォータ情報を無効化します。
戻り値
このメソッドは S_OK を返します。
ユーザーオブジェクトのアカウントの状態を取得します。
| pdwStatus | DWORD* | inout | ユーザーのアカウントの状態。状態値は次のいずれかになります。
|
戻り値
このメソッドは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| pdwStatus パラメーターが NULL です。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDiskQuotaUser "{7988B574-EC89-11CF-9C00-00AA00A14F56}" #usecom global IDiskQuotaUser IID_IDiskQuotaUser "{}" #comfunc global IDiskQuotaUser_GetID 3 var #comfunc global IDiskQuotaUser_GetName 4 wstr,int,wstr,int,wstr,int #comfunc global IDiskQuotaUser_GetSidLength 5 var #comfunc global IDiskQuotaUser_GetSid 6 var,int #comfunc global IDiskQuotaUser_GetQuotaThreshold 7 var #comfunc global IDiskQuotaUser_GetQuotaThresholdText 8 wstr,int #comfunc global IDiskQuotaUser_GetQuotaLimit 9 var #comfunc global IDiskQuotaUser_GetQuotaLimitText 10 wstr,int #comfunc global IDiskQuotaUser_GetQuotaUsed 11 var #comfunc global IDiskQuotaUser_GetQuotaUsedText 12 wstr,int #comfunc global IDiskQuotaUser_GetQuotaInformation 13 sptr,int #comfunc global IDiskQuotaUser_SetQuotaThreshold 14 int64,int #comfunc global IDiskQuotaUser_SetQuotaLimit 15 int64,int #comfunc global IDiskQuotaUser_Invalidate 16 #comfunc global IDiskQuotaUser_GetAccountStatus 17 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDiskQuotaUser "{7988B574-EC89-11CF-9C00-00AA00A14F56}" #usecom global IDiskQuotaUser IID_IDiskQuotaUser "{}" #comfunc global IDiskQuotaUser_GetID 3 sptr #comfunc global IDiskQuotaUser_GetName 4 wstr,int,wstr,int,wstr,int #comfunc global IDiskQuotaUser_GetSidLength 5 sptr #comfunc global IDiskQuotaUser_GetSid 6 sptr,int #comfunc global IDiskQuotaUser_GetQuotaThreshold 7 sptr #comfunc global IDiskQuotaUser_GetQuotaThresholdText 8 wstr,int #comfunc global IDiskQuotaUser_GetQuotaLimit 9 sptr #comfunc global IDiskQuotaUser_GetQuotaLimitText 10 wstr,int #comfunc global IDiskQuotaUser_GetQuotaUsed 11 sptr #comfunc global IDiskQuotaUser_GetQuotaUsedText 12 wstr,int #comfunc global IDiskQuotaUser_GetQuotaInformation 13 sptr,int #comfunc global IDiskQuotaUser_SetQuotaThreshold 14 int64,int #comfunc global IDiskQuotaUser_SetQuotaLimit 15 int64,int #comfunc global IDiskQuotaUser_Invalidate 16 #comfunc global IDiskQuotaUser_GetAccountStatus 17 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。