IDiskQuotaControl
COM公式ドキュメント
単一の NTFS ファイル システム ボリュームのディスク クォータ機能を制御します。
メソッド 21
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
要求されたアクセス権で NTFS ファイル システム ボリュームを開き、新しい DiskQuotaControl オブジェクトを初期化します。
| pszPath | LPWSTR | in | ボリューム ルートへのパス (C:\ や \\yourcomputer など)。 |
| bReadWrite | BOOL | in | この値が TRUE の場合、ボリュームは読み取り/書き込みモードで開かれます。FALSE の場合、ボリュームは読み取り専用モードで開かれます。クォータ ファイルにデータを書き込むには、TRUE を指定し、このメソッドの呼び出しが成功して返る必要があります。 |
戻り値
このメソッドは、次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 要求されたパス名が無効です。 | |
| 要求されたファイルまたはオブジェクトが見つかりません。 | |
|
コントローラー オブジェクトは既に初期化されています。多重初期化は許可されていません。 |
| 要求されたファイル パスが無効です。 | |
| ファイル システムがクォータをサポートしていません。 | |
| 要求されたファイル パスが見つかりません。 |
クォータ システムの状態を設定します。
| dwState | DWORD | in | ボリュームに適用する状態。適切なビットを設定するには、次のマクロを使用します。
|
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| dwState パラメーターが正しくありません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
すべての状態属性を変更できるわけではありません。変更できるのは、有効化 (enable)、追跡 (track)、強制 (enforce) の各属性です。
クォータ システムの状態を示すフラグのセットを取得します。
| pdwState | DWORD* | inout | クォータの状態フラグ。このパラメーターには、次のフラグを 1 つ以上含めることができます。
|
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pdwState パラメーターが正しくありません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリューム上のユーザー関連クォータ イベントのログ記録を制御します。
| dwFlags | DWORD | in | ボリュームに適用するログ フラグ。dwFlags パラメーターの適切なビットを設定するには、次のマクロを使用します。
|
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリューム上のユーザー関連クォータ イベントのログ記録を制御するフラグを取得します。
| pdwFlags | DWORD* | inout | ボリュームのクォータ ログ フラグ。フラグ値の内容を取得するには、次のマクロを使用します。
|
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pdwFlags パラメーターが正しくありません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
既定の警告しきい値を変更します。
| llThreshold | LONGLONG | in | 既定の警告しきい値 (バイト単位)。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームの既定のクォータ警告しきい値を取得します。
| pllThreshold | LONGLONG* | inout | 既定の警告しきい値 (バイト単位)。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pllThreshold パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームの既定の警告しきい値を取得します。
| pszText | LPWSTR | in | テキスト文字列。 |
| cchText | DWORD | in | バッファーのサイズ (文字数単位)。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pszText パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
既定のクォータ制限を変更します。
| llLimit | LONGLONG | in | 既定のクォータ制限 (バイト単位)。この値が -1 の場合、ユーザーのクォータは無制限です。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームの既定のクォータ制限を取得します。
| pllLimit | LONGLONG* | inout | クォータ制限を受け取る変数へのポインター。この値が -1 の場合、ユーザーのクォータは無制限です。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pllLimit パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
ボリュームの既定のクォータ制限を取得します。制限はテキスト文字列で表現されます (例: 10.5 MB)。
| pszText | LPWSTR | in | テキスト文字列。ボリュームに制限がない場合、返される文字列は "No Limit" (ローカライズされた文字列) です。バッファーが小さすぎる場合、文字列はバッファーに収まるように切り詰められます。 |
| cchText | DWORD | in | バッファーのサイズ (文字数単位)。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pszText パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
指定したユーザーのクォータ エントリをボリューム上に新規追加します。ユーザーはセキュリティ識別子 (SID) で識別されます。
| pUserSid | PSID | in | ユーザーの SID。 | ||||||||
| fNameResolution | DISKQUOTA_USERNAME_RESOLVE | in | ユーザー アカウント情報の取得方法を示します。ボリュームのクォータ情報では、ユーザーは SID で識別されます。ユーザー アカウント情報 (ドメイン名、アカウント名、フル ネームなど) は、ネットワーク ドメイン コントローラーから取得する必要があります。ネットワークに接続されていない場合はローカル コンピューターから取得します。このパラメーターには、次のいずれかの値を指定できます。
| ||||||||
| ppUser | IDiskQuotaUser** | out | 新しく作成されたクォータ ユーザー オブジェクトの IDiskQuotaUser インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| 指定された SID が不明です。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pUserSid または ppUser パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
NTFS ファイル システムは、ユーザーがボリュームに最初に書き込みを行ったときに、ユーザーのクォータ エントリを自動的に作成します。自動的に作成されたエントリには、そのボリュームの既定の警告しきい値とハード クォータ制限値が割り当てられます。このメソッドを使用すると、ユーザーがボリュームに情報を書き込む前にユーザーのクォータ エントリを作成できます。そのため、ボリュームの既定設定とは異なる警告しきい値やハード クォータ制限値をあらかじめ割り当てることができます。
指定したユーザーのクォータ エントリをボリューム上に新規追加します。ユーザーはドメイン名とアカウント名で識別されます。
| pszLogonName | LPWSTR | in | ユーザーのアカウント ログオン名の文字列。 | ||||||||
| fNameResolution | DISKQUOTA_USERNAME_RESOLVE | in | ユーザー アカウント情報の取得方法を示します。ボリュームのクォータ情報では、ユーザーは SID で識別されます。ユーザー アカウント情報 (コンテナー、ログオン名、表示名など) は、ネットワーク ドメイン コントローラーから取得する必要があります。ネットワークに接続されていない場合はローカル コンピューターから取得します。このパラメーターには、次のいずれかの値を指定できます。
| ||||||||
| ppUser | IDiskQuotaUser** | out | 新しく作成されたクォータ ユーザー オブジェクトの IDiskQuotaUser インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ユーザーは既に存在します。追加されませんでした。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
|
指定されたユーザー名が不明です。 |
| ポインター パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
NTFS ファイル システムは、ユーザーがボリュームに最初に書き込みを行ったときに、ユーザーのクォータ エントリを自動的に作成します。自動的に作成されたエントリには、そのボリュームの既定の警告しきい値とハード クォータ制限値が割り当てられます。このメソッドを使用すると、ユーザーがボリュームに情報を書き込む前にユーザーのクォータ エントリを作成できます。そのため、ボリュームの既定設定とは異なる警告しきい値やハード クォータ制限値をあらかじめ割り当てることができます。
ボリュームのクォータ情報ファイルからユーザー エントリを削除します。
| pUser | IDiskQuotaUser* | in | クォータ レコードを削除対象としてマークするユーザーの IDiskQuotaUser インターフェイスへのポインター。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| そのユーザーはボリューム上にファイルを所有しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pUser パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
このメソッドは、実際にはボリュームからクォータ エントリを削除しません。エントリに削除のマークを付けるだけです。実際の削除は、後で NTFS ファイル システムによって実行されます。IDiskQuotaControl::DeleteUser の呼び出し後も、 IDiskQuotaUser インターフェイスは引き続き有効です。このメソッドは、メモリ上のユーザー オブジェクトを削除しません。ユーザー オブジェクトを解放するには、IUnknown::Release を呼び出してください。
ボリュームのクォータ情報から特定のユーザー エントリを検索します。
| pUserSid | PSID | in | ユーザーの SID へのポインター。 | ||||||||
| fNameResolution | DISKQUOTA_USERNAME_RESOLVE | in | ユーザー アカウント情報の取得方法を示します。ボリュームのクォータ情報では、ユーザーは SID で識別されます。ユーザー アカウント情報 (ドメイン名、アカウント名、フル ネームなど) は、ネットワーク ドメイン コントローラーから取得する必要があります。ネットワークに接続されていない場合はローカル コンピューターから取得します。このパラメーターには、次のいずれかの値を指定できます。
| ||||||||
| ppUser | IDiskQuotaUser** | out | クォータ ユーザー オブジェクトの IDiskQuotaUser インターフェイス ポインターを受け取るポインター。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| ユーザーの SID が無効です。 | |
| pUserSid または ppUser パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
このメソッドは、クォータ ファイルにそのユーザーのクォータ レコードが存在しない場合でも、ユーザー オブジェクトを返します。これは、ユーザーの自動追加と既定のクォータ設定という考え方と一貫しています。要求されたユーザーのクォータ エントリが現時点で存在せず、そのユーザーがディスク領域を要求すればクォータ ファイルに追加される状況であれば、返されるユーザー オブジェクトの警告しきい値とハード クォータ制限は、ボリュームの既定設定と同じ値になります。
ボリュームのクォータ情報から特定のエントリを検索します。
| pszLogonName | LPWSTR | in | ユーザーのアカウント ログオン名へのポインター。 |
| ppUser | IDiskQuotaUser** | out | クォータ ユーザー オブジェクトの IDiskQuotaUser インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは、ファイル システム エラーまたは次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| ユーザーの SID が無効です。 | |
| その SID に対して利用可能なマッピングがありません。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| pUserSid または ppUser パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しないファイル システム エラーが発生しました。 | |
| 予期しない例外が発生しました。 |
解説(Remarks)
このメソッドは、クォータ ファイルにそのユーザーのクォータ レコードが存在しない場合でも、ユーザー オブジェクトを返します。これは、ユーザーの自動追加と既定のクォータ設定という考え方と一貫しています。要求されたユーザーのクォータ エントリが現時点で存在せず、そのユーザーがディスク領域を要求すればクォータ ファイルに追加される状況であれば、返されるユーザー オブジェクトの警告しきい値とハード クォータ制限は、ボリュームの既定設定と同じ値になります。
ボリューム上のクォータ ユーザーを列挙するための列挙子オブジェクトを作成します。
| rgpUserSids | PSID* | inout | 列挙に含めるユーザー オブジェクトを表すセキュリティ識別子 (SID) ポインターの配列。この値が NULL の場合、すべてのユーザー エントリが列挙されます。 | ||||||||
| cpSids | DWORD | in | rgpUserSids 配列内の項目数。rgpUserSids が NULL の場合は無視されます。 | ||||||||
| fNameResolution | DISKQUOTA_USERNAME_RESOLVE | in | ユーザー アカウント情報の取得方法を示します。ボリュームのクォータ情報では、ユーザーは SID で識別されます。ユーザー アカウント情報 (ドメイン名、アカウント名、フル ネームなど) は、ネットワーク ドメイン コントローラーから取得する必要があります。ネットワークに接続されていない場合はローカル コンピューターから取得します。このパラメーターには、次のいずれかの値を指定できます。
| ||||||||
| ppEnum | IEnumDiskQuotaUsers** | out | IEnumDiskQuotaUsers 列挙子へのポインターを受け取るポインター。 |
戻り値
このメソッドは、次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| ppEnum パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しない例外が発生しました。 |
複数ユーザーのクォータ設定を同時に更新する処理を最適化するためのバッチ処理オブジェクトを作成します。
| ppBatch | IDiskQuotaUserBatch** | out | IDiskQuotaUserBatch インターフェイス ポインターへのポインター。 |
戻り値
このメソッドは、次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 呼び出し元のアクセス権が不足しています。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| ppBatch パラメーターが NULL です。 | |
| メモリが不足しています。 | |
| 予期しない例外が発生しました。 |
システムの SID 名キャッシュの内容を無効化し、それ以降の新しいユーザー オブジェクトの要求 (IEnumDiskQuotaUsers::Next、IDiskQuotaControl::FindUserSid、IDiskQuotaControl::FindUserName) がドメイン コントローラーからユーザー名を取得するようにします。
戻り値
このメソッドは、次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| メモリが不足しています。 | |
| 予期しない例外が発生しました。 | |
| SID 名キャッシュが利用できないか、排他的にロックできませんでした。 |
解説(Remarks)
通常、このメソッドを呼び出す必要はありません。SID 名キャッシュ全体をプログラムから更新する手段を提供するために用意されています。
指定したユーザー オブジェクトをキューの先頭に昇格させ、次に解決されるようにします。
| pUser | IDiskQuotaUser* | in | IDiskQuotaUser インターフェイスへのポインター。 |
戻り値
このメソッドは、次のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DiskQuotaControl オブジェクトが初期化されていません。 | |
| クォータ ユーザー オブジェクトはリゾルバー キューにありません。 | |
| 予期しない例外が発生しました。 |
ユーザーのセキュリティ識別子 (SID) をユーザー名に変換します。
戻り値
このメソッドは S_OK を返します。
解説(Remarks)
スレッドの終了後は、非同期の名前解決も停止します。次のメソッドをその後に呼び出すと、SID から名前へのリゾルバー スレッドを再作成できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 指定が可能。#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 sptr #comfunc global IDiskQuotaControl_SetQuotaLogFlags 8 int #comfunc global IDiskQuotaControl_GetQuotaLogFlags 9 sptr #comfunc global IDiskQuotaControl_SetDefaultQuotaThreshold 10 int64 #comfunc global IDiskQuotaControl_GetDefaultQuotaThreshold 11 sptr #comfunc global IDiskQuotaControl_GetDefaultQuotaThresholdText 12 wstr,int #comfunc global IDiskQuotaControl_SetDefaultQuotaLimit 13 int64 #comfunc global IDiskQuotaControl_GetDefaultQuotaLimit 14 sptr #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から自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。