ICivicAddressReport
COM公式ドキュメント
ICivicAddressReport は、市街地住所の形式で情報を含む位置(ロケーション)レポートを表します。
解説(Remarks)
値が利用できない場合、任意のプロパティ値が NULL になる可能性があることに注意してください。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
市街地住所の1行目を取得します。
| pbstrAddress1 | LPWSTR* | out | 市街地住所の1行目を受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
市街地住所の2行目を取得します。
| pbstrAddress2 | LPWSTR* | out | 市街地住所の2行目を受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
市区町村名を取得します。
| pbstrCity | LPWSTR* | out | 市区町村名を受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
州または県の名前を取得します。
| pbstrStateProvince | LPWSTR* | out | 州または県の名前を受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
郵便番号を取得します。
| pbstrPostalCode | LPWSTR* | out | 郵便番号を受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
2文字の国または地域コードを取得します。
| pbstrCountryRegion | LPWSTR* | out | 国または地域コードを受け取る BSTR のアドレス。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
2文字の国または地域コードは ISO 3166 形式です。
例
次の例は、GetCountryRegion を呼び出す方法を示しています。
hr = pCivicAddressReport->GetCountryRegion(&bstrCountryRegion);
if (SUCCEEDED(hr))
{
// Country/Region is an ISO-3166-1 two-letter code.
wprintf(L"\tCountry/Region:\t%s\n\n", bstrCountryRegion);
}
予約済み。(ICivicAddressReport.GetDetailLevel)
| pDetailLevel | DWORD* | out | 予約済み。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
市街地住所レポートが特定のフィールドに有効なデータを含んでいるかどうかを判断するには、単にそのフィールドの内容を調べます。フィールドに値が含まれている場合、そのフィールドには利用可能な最も正確な情報が含まれていると想定できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ICivicAddressReport "{C0B19F70-4ADF-445D-87F2-CAD8FD711792}" #usecom global ICivicAddressReport IID_ICivicAddressReport "{D39E7BDD-7D05-46B8-8721-80CF035F57D7}" #comfunc global ICivicAddressReport_GetAddressLine1 6 var #comfunc global ICivicAddressReport_GetAddressLine2 7 var #comfunc global ICivicAddressReport_GetCity 8 var #comfunc global ICivicAddressReport_GetStateProvince 9 var #comfunc global ICivicAddressReport_GetPostalCode 10 var #comfunc global ICivicAddressReport_GetCountryRegion 11 var #comfunc global ICivicAddressReport_GetDetailLevel 12 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ICivicAddressReport "{C0B19F70-4ADF-445D-87F2-CAD8FD711792}" #usecom global ICivicAddressReport IID_ICivicAddressReport "{D39E7BDD-7D05-46B8-8721-80CF035F57D7}" #comfunc global ICivicAddressReport_GetAddressLine1 6 sptr #comfunc global ICivicAddressReport_GetAddressLine2 7 sptr #comfunc global ICivicAddressReport_GetCity 8 sptr #comfunc global ICivicAddressReport_GetStateProvince 9 sptr #comfunc global ICivicAddressReport_GetPostalCode 10 sptr #comfunc global ICivicAddressReport_GetCountryRegion 11 sptr #comfunc global ICivicAddressReport_GetDetailLevel 12 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。