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

IUri

COM
IIDa39ee748-6a27-4817-a6f2-13914bef5890継承元IUnknown自前メソッド開始 vtbl3

メソッド 25

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

vtbl 3 HRESULT GetPropertyBSTR(Uri_PROPERTY uriProp, LPWSTR* pbstrProperty, DWORD dwFlags)
uriPropUri_PROPERTYin取得する URI プロパティを示す Uri_PROPERTY 値を指定する。
pbstrPropertyLPWSTR*outプロパティ値の文字列を受け取る変数へのポインタである。
dwFlagsDWORDinプロパティ取得時の動作を制御する Uri_DISPLAY フラグを指定する。
vtbl 4 HRESULT GetPropertyLength(Uri_PROPERTY uriProp, DWORD* pcchProperty, DWORD dwFlags)
uriPropUri_PROPERTYin長さを取得する URI プロパティを示す Uri_PROPERTY 値を指定する。
pcchPropertyDWORD*outプロパティ文字列の長さ (文字数) を受け取る DWORD へのポインタである。
dwFlagsDWORDinプロパティ取得時の動作を制御する Uri_DISPLAY フラグを指定する。
vtbl 5 HRESULT GetPropertyDWORD(Uri_PROPERTY uriProp, DWORD* pdwProperty, DWORD dwFlags)
uriPropUri_PROPERTYin取得する数値型 URI プロパティを示す Uri_PROPERTY 値を指定する。
pdwPropertyDWORD*outプロパティの数値を受け取る DWORD へのポインタである。
dwFlagsDWORDinプロパティ取得時の動作を制御するフラグを指定する。
vtbl 6 HRESULT HasProperty(Uri_PROPERTY uriProp, BOOL* pfHasProperty)
uriPropUri_PROPERTYin存在を確認する URI プロパティを示す Uri_PROPERTY 値を指定する。
pfHasPropertyBOOL*outプロパティが存在する場合に TRUE を受け取る BOOL へのポインタである。
vtbl 7 HRESULT GetAbsoluteUri(LPWSTR* pbstrAbsoluteUri)
pbstrAbsoluteUriLPWSTR*out正規化された絶対 URI 文字列を受け取る変数へのポインタである。
vtbl 8 HRESULT GetAuthority(LPWSTR* pbstrAuthority)
pbstrAuthorityLPWSTR*outURI のオーソリティ部 (ホストとポートなど) を受け取る変数へのポインタである。
vtbl 9 HRESULT GetDisplayUri(LPWSTR* pbstrDisplayString)
pbstrDisplayStringLPWSTR*out表示用に整形した URI 文字列を受け取る変数へのポインタである。
vtbl 10 HRESULT GetDomain(LPWSTR* pbstrDomain)
pbstrDomainLPWSTR*outURI のドメイン部を受け取る変数へのポインタである。
vtbl 11 HRESULT GetExtension(LPWSTR* pbstrExtension)
pbstrExtensionLPWSTR*outURI のパスにおけるファイル拡張子を受け取る変数へのポインタである。
vtbl 12 HRESULT GetFragment(LPWSTR* pbstrFragment)
pbstrFragmentLPWSTR*outURI のフラグメント部 (# 以降) を受け取る変数へのポインタである。
vtbl 13 HRESULT GetHost(LPWSTR* pbstrHost)
pbstrHostLPWSTR*outURI のホスト部を受け取る変数へのポインタである。
vtbl 14 HRESULT GetPassword(LPWSTR* pbstrPassword)
pbstrPasswordLPWSTR*outURI に含まれるパスワード部を受け取る変数へのポインタである。
vtbl 15 HRESULT GetPath(LPWSTR* pbstrPath)
pbstrPathLPWSTR*outURI のパス部を受け取る変数へのポインタである。
vtbl 16 HRESULT GetPathAndQuery(LPWSTR* pbstrPathAndQuery)
pbstrPathAndQueryLPWSTR*outURI のパス部とクエリ部を結合した文字列を受け取る変数へのポインタである。
vtbl 17 HRESULT GetQuery(LPWSTR* pbstrQuery)
pbstrQueryLPWSTR*outURI のクエリ部 (? 以降) を受け取る変数へのポインタである。
vtbl 18 HRESULT GetRawUri(LPWSTR* pbstrRawUri)
pbstrRawUriLPWSTR*out正規化されていない元の URI 文字列を受け取る変数へのポインタである。
vtbl 19 HRESULT GetSchemeName(LPWSTR* pbstrSchemeName)
pbstrSchemeNameLPWSTR*outURI のスキーム名 (http など) を受け取る変数へのポインタである。
vtbl 20 HRESULT GetUserInfo(LPWSTR* pbstrUserInfo)
pbstrUserInfoLPWSTR*outURI のユーザー情報部 (ユーザー名とパスワード) を受け取る変数へのポインタである。
vtbl 21 HRESULT GetUserName(LPWSTR* pbstrUserName)
pbstrUserNameLPWSTR*outURI に含まれるユーザー名部を受け取る変数へのポインタである。
vtbl 22 HRESULT GetHostType(DWORD* pdwHostType)
pdwHostTypeDWORD*outホストの種類を示す Uri_HOST_TYPE 値を受け取る DWORD へのポインタである。
vtbl 23 HRESULT GetPort(DWORD* pdwPort)
pdwPortDWORD*outURI のポート番号を受け取る DWORD へのポインタである。
vtbl 24 HRESULT GetScheme(DWORD* pdwScheme)
pdwSchemeDWORD*outURI のスキームを示す Uri_SCHEME 値を受け取る DWORD へのポインタである。
vtbl 25 HRESULT GetZone(DWORD* pdwZone)
pdwZoneDWORD*outURI に対応するセキュリティゾーンを示す値を受け取る DWORD へのポインタである。
vtbl 26 HRESULT GetProperties(DWORD* pdwFlags)
pdwFlagsDWORD*outURI に存在するプロパティを示すビットフラグを受け取る DWORD へのポインタである。
vtbl 27 HRESULT IsEqual(IUri* pUri, BOOL* pfEqual)
pUriIUri*in比較対象となる別の IUri へのポインタである。
pfEqualBOOL*out2 つの URI が等価である場合に TRUE を受け取る BOOL へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IUri "{A39EE748-6A27-4817-A6F2-13914BEF5890}"
#usecom global IUri IID_IUri "{}"
#comfunc global IUri_GetPropertyBSTR    3 int,var,int
#comfunc global IUri_GetPropertyLength  4 int,var,int
#comfunc global IUri_GetPropertyDWORD   5 int,var,int
#comfunc global IUri_HasProperty        6 int,var
#comfunc global IUri_GetAbsoluteUri     7 var
#comfunc global IUri_GetAuthority       8 var
#comfunc global IUri_GetDisplayUri      9 var
#comfunc global IUri_GetDomain          10 var
#comfunc global IUri_GetExtension       11 var
#comfunc global IUri_GetFragment        12 var
#comfunc global IUri_GetHost            13 var
#comfunc global IUri_GetPassword        14 var
#comfunc global IUri_GetPath            15 var
#comfunc global IUri_GetPathAndQuery    16 var
#comfunc global IUri_GetQuery           17 var
#comfunc global IUri_GetRawUri          18 var
#comfunc global IUri_GetSchemeName      19 var
#comfunc global IUri_GetUserInfo        20 var
#comfunc global IUri_GetUserName        21 var
#comfunc global IUri_GetHostType        22 var
#comfunc global IUri_GetPort            23 var
#comfunc global IUri_GetScheme          24 var
#comfunc global IUri_GetZone            25 var
#comfunc global IUri_GetProperties      26 var
#comfunc global IUri_IsEqual            27 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。