Win32 API 日本語リファレンス
ホームSystem.Com › IUriBuilder

IUriBuilder

COM
IID4221b2e1-8955-46c0-bd5b-de9897565de7継承元IUnknown自前メソッド開始 vtbl3

メソッド 23

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

vtbl 3 HRESULT CreateUriSimple(DWORD dwAllowEncodingPropertyMask, UINT_PTR dwReserved, IUri** ppIUri)
dwAllowEncodingPropertyMaskDWORDinエンコードを許可するプロパティを示すビットマスクを指定する。
dwReservedUINT_PTRin予約済みパラメータであり、0 を指定する。
ppIUriIUri**out作成された IUri オブジェクトを受け取る変数へのポインタである。
vtbl 4 HRESULT CreateUri(DWORD dwCreateFlags, DWORD dwAllowEncodingPropertyMask, UINT_PTR dwReserved, IUri** ppIUri)
dwCreateFlagsDWORDinURI の作成動作を制御する Uri_CREATE フラグを指定する。
dwAllowEncodingPropertyMaskDWORDinエンコードを許可するプロパティを示すビットマスクを指定する。
dwReservedUINT_PTRin予約済みパラメータであり、0 を指定する。
ppIUriIUri**out作成された IUri オブジェクトを受け取る変数へのポインタである。
vtbl 5 HRESULT CreateUriWithFlags(DWORD dwCreateFlags, DWORD dwUriBuilderFlags, DWORD dwAllowEncodingPropertyMask, UINT_PTR dwReserved, IUri** ppIUri)
dwCreateFlagsDWORDinURI の作成動作を制御する Uri_CREATE フラグを指定する。
dwUriBuilderFlagsDWORDinビルダーの動作を制御する URIBUILDER フラグを指定する。
dwAllowEncodingPropertyMaskDWORDinエンコードを許可するプロパティを示すビットマスクを指定する。
dwReservedUINT_PTRin予約済みパラメータであり、0 を指定する。
ppIUriIUri**out作成された IUri オブジェクトを受け取る変数へのポインタである。
vtbl 6 HRESULT GetIUri(IUri** ppIUri)
ppIUriIUri**outビルダーが現在保持している IUri オブジェクトを受け取る変数へのポインタである。
vtbl 7 HRESULT SetIUri(IUri* pIUri)
pIUriIUri*inoptionalビルダーの基となる IUri オブジェクトへのポインタである。
vtbl 8 HRESULT GetFragment(DWORD* pcchFragment, LPWSTR* ppwzFragment)
pcchFragmentDWORD*outフラグメント文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzFragmentLPWSTR*outフラグメント部の文字列を受け取る変数へのポインタである。
vtbl 9 HRESULT GetHost(DWORD* pcchHost, LPWSTR* ppwzHost)
pcchHostDWORD*outホスト文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzHostLPWSTR*outホスト部の文字列を受け取る変数へのポインタである。
vtbl 10 HRESULT GetPassword(DWORD* pcchPassword, LPWSTR* ppwzPassword)
pcchPasswordDWORD*outパスワード文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzPasswordLPWSTR*outパスワード部の文字列を受け取る変数へのポインタである。
vtbl 11 HRESULT GetPath(DWORD* pcchPath, LPWSTR* ppwzPath)
pcchPathDWORD*outパス文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzPathLPWSTR*outパス部の文字列を受け取る変数へのポインタである。
vtbl 12 HRESULT GetPort(BOOL* pfHasPort, DWORD* pdwPort)
pfHasPortBOOL*outポートが設定されている場合に TRUE を受け取る BOOL へのポインタである。
pdwPortDWORD*outポート番号を受け取る DWORD へのポインタである。
vtbl 13 HRESULT GetQuery(DWORD* pcchQuery, LPWSTR* ppwzQuery)
pcchQueryDWORD*outクエリ文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzQueryLPWSTR*outクエリ部の文字列を受け取る変数へのポインタである。
vtbl 14 HRESULT GetSchemeName(DWORD* pcchSchemeName, LPWSTR* ppwzSchemeName)
pcchSchemeNameDWORD*outスキーム名文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzSchemeNameLPWSTR*outスキーム名の文字列を受け取る変数へのポインタである。
vtbl 15 HRESULT GetUserName(DWORD* pcchUserName, LPWSTR* ppwzUserName)
pcchUserNameDWORD*outユーザー名文字列の長さ (文字数) を受け取る DWORD へのポインタである。
ppwzUserNameLPWSTR*outユーザー名の文字列を受け取る変数へのポインタである。
vtbl 16 HRESULT SetFragment(LPWSTR pwzNewValue)
pwzNewValueLPWSTRinoptional設定するフラグメント部の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 17 HRESULT SetHost(LPWSTR pwzNewValue)
pwzNewValueLPWSTRin設定するホスト部の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 18 HRESULT SetPassword(LPWSTR pwzNewValue)
pwzNewValueLPWSTRinoptional設定するパスワード部の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 19 HRESULT SetPath(LPWSTR pwzNewValue)
pwzNewValueLPWSTRinoptional設定するパス部の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 20 HRESULT SetPort(BOOL fHasPort, DWORD dwNewValue)
fHasPortBOOLinポートを設定する場合は TRUE、ポートを削除する場合は FALSE を指定する。
dwNewValueDWORDin設定する新しいポート番号を指定する。
vtbl 21 HRESULT SetQuery(LPWSTR pwzNewValue)
pwzNewValueLPWSTRinoptional設定するクエリ部の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 22 HRESULT SetSchemeName(LPWSTR pwzNewValue)
pwzNewValueLPWSTRin設定するスキーム名の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 23 HRESULT SetUserName(LPWSTR pwzNewValue)
pwzNewValueLPWSTRinoptional設定するユーザー名の新しい文字列を指定する。NULL を指定すると既存の値を使用する。
vtbl 24 HRESULT RemoveProperties(DWORD dwPropertyMask)
dwPropertyMaskDWORDin削除する URI プロパティを示すビットマスクを指定する。
vtbl 25 HRESULT HasBeenModified(BOOL* pfModified)
pfModifiedBOOL*out基の IUri から変更が加えられている場合に TRUE を受け取る BOOL へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IUriBuilder "{4221B2E1-8955-46C0-BD5B-DE9897565DE7}"
#usecom global IUriBuilder IID_IUriBuilder "{}"
#comfunc global IUriBuilder_CreateUriSimple     3 int,sptr,sptr
#comfunc global IUriBuilder_CreateUri           4 int,int,sptr,sptr
#comfunc global IUriBuilder_CreateUriWithFlags  5 int,int,int,sptr,sptr
#comfunc global IUriBuilder_GetIUri             6 sptr
#comfunc global IUriBuilder_SetIUri             7 sptr
#comfunc global IUriBuilder_GetFragment         8 var,var
#comfunc global IUriBuilder_GetHost             9 var,var
#comfunc global IUriBuilder_GetPassword         10 var,var
#comfunc global IUriBuilder_GetPath             11 var,var
#comfunc global IUriBuilder_GetPort             12 var,var
#comfunc global IUriBuilder_GetQuery            13 var,var
#comfunc global IUriBuilder_GetSchemeName       14 var,var
#comfunc global IUriBuilder_GetUserName         15 var,var
#comfunc global IUriBuilder_SetFragment         16 wstr
#comfunc global IUriBuilder_SetHost             17 wstr
#comfunc global IUriBuilder_SetPassword         18 wstr
#comfunc global IUriBuilder_SetPath             19 wstr
#comfunc global IUriBuilder_SetPort             20 int,int
#comfunc global IUriBuilder_SetQuery            21 wstr
#comfunc global IUriBuilder_SetSchemeName       22 wstr
#comfunc global IUriBuilder_SetUserName         23 wstr
#comfunc global IUriBuilder_RemoveProperties    24 int
#comfunc global IUriBuilder_HasBeenModified     25 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。