約 5,430,579 件
https://w.atwiki.jp/api_programming/pages/23.html
http //developer.android.com/training/sync-adapters/creating-sync-adapter.html Sync Adapter を使用するためにやること Sync Adapter Class を作る Service をバインドする Sync adapter XML metadata file を準備する AndroidManifest.xml への宣言 Sync Adapter Classを作る AbstractThreadedSyncAdapterの拡張 コンストラクタの作成 /** * Handle the transfer of data between a server and an * app, using the Android sync adapter framework. */ public class SyncAdapter extends AbstractThreadedSyncAdapter { ... // Global variables // Define a variable to contain a content resolver instance ContentResolver mContentResolver; // 情報を操作するオブジェクト ... /* Sync Adapter の設定 */ public SyncAdapter(Context context, boolean autoInitialize) { super(context, autoInitialize); /* * If your app uses a content resolver, get an instance of it * from the incoming Context */ mContentResolver = context.getContentResolver(); } ... /** * Set up the sync adapter. This form of the * constructor maintains compatibility with Android 3.0 * and later platform versions */ public SyncAdapter( Context context, boolean autoInitialize, boolean allowParallelSyncs) { super(context, autoInitialize, allowParallelSyncs); /* * If your app uses a content resolver, get an instance of it * from the incoming Context */ mContentResolver = context.getContentResolver(); ... } データの通信 onPerformSync() 内で実施。 引数は簡単に呼び出せるように、 (Account) accountアカウント情報の要らないサーバなら、不要 (Bundle) ExtrasBundleオブジェクト:アプリの中断および強制終了されたときのため前回終了時の状態を保持する。http //wakaranai.web.fc2.com/c01-Bundle.html 画面がクルッを回したりすると、一旦Bundleクラス内に情報を預けて、画面を更新。構築後、情報を取り出す。 onSaveInstanceState() って、わざわざonSaveInstanceState(Bundle outstate)なんて持ち出さなくても、onCreate(Bundle savedInstanceState)じゃないか。 (String) Authority (ContentProviderClient) (SyncResult)syncresult 実装する機能。以下を読むと、何だ、全部人でやるんじゃん、って思った。でも、以下の処理をバックグラウンドでやってくれる。 サーバに接続Sync Adapter がネットワークにつないでくれるわけじゃない データのダウンロード、アップロードダウンロード、アップロードを勝手にはやってくれないので、自分で実装する。 ネットワークエラーの処理も自分で取り扱う必要あり Handling data conflicts or determining how current the data isサーバでデータのコンフリクトが起こっても、やっぱり自分で対処。 ネットワークを閉じるなどの終了処理 ContentResolverなんかでデータを挿入したりするのはここで書くのか。 Sync Adapter をサービスにバインドする Serviceの中のonCreate()にてSync Adapter コンポーネント生成する。必要なタイミングまで生成されるのを待てる。 thread-safeで作る複数個呼び出されてもいいように package com.example.android.syncadapter; /** * Define a Service that returns an IBinder for the * sync adapter class, allowing the sync adapter framework to call * onPerformSync(). */ public class SyncService extends Service { // Storage for an instance of the sync adapter private static SyncAdapter sSyncAdapter = null; // Object to use as a thread-safe lock private static final Object sSyncAdapterLock = new Object(); /* * Instantiate the sync adapter object. */ @Override public void onCreate() { /* * Create the sync adapter as a singleton. * Set the sync adapter as syncable * Disallow parallel syncs */ synchronized (sSyncAdapterLock) { if (sSyncAdapter == null) { sSyncAdapter = new SyncAdapter(getApplicationContext(), true); } } } /** * Return an object that allows the system to invoke * the sync adapter. * */ @Override public IBinder onBind(Intent intent) { /* * Get the object that allows external processes * to call onPerformSync(). The object is created * in the base class code when the SyncAdapter * constructors call super() */ return sSyncAdapter.getSyncAdapterBinder(); } }
https://w.atwiki.jp/wnt0/pages/20.html
インターフェイスの変換を行い、互換性のないクラスを利用できるようにする 継承アダプタは、クライアントが使用するインターフェイスを実装し、既存のクラスを継承する 委譲アダプタは、クライアントが使用する抽象クラスを実装し、既存クラスの処理を委譲する #include iostream using namespace std; class Target {public virtual void targetMethod() { cout "Original Method." endl; }}; class Adaptee {public void Method() { cout "Adaptee Method." endl; }}; // 継承 Adapterclass DeriveAdapter public Target, public Adaptee {public virtual void targetMethod() { Method(); // Adaptee method() }}; // 包含 Adapterclass InclusionAdapter public Target {public virtual void targetMethod() { _adaptee.Method(); }private Adaptee _adaptee;}; // clientint main() { Target *t = new Target(); t- targetMethod(); // 継承 Adapter Target *t1 = new DeriveAdapter(); t1- targetMethod(); // 包含 Adapter Target *t2 = new InclusionAdapter(); t2- targetMethod(); delete t; delete t1; delete t2; return 0;} 出力 Original Method. Adaptee Method. Adaptee Method. http //www.dofactory.com/Patterns/PatternAdapter.aspx#_self1 をC++にした(structural example) #include iostream using namespace std; // The Target classclass Target {public virtual ~Target() { } virtual void Request() { cout "Called Target Request()" endl; }}; // The Adaptee classclass Adaptee {public void SpecificRequest() { cout "Called SpecificRequest()" endl; }}; // The Adapter classclass Adapter public Target {public Adapter() { _adaptee = new Adaptee(); } virtual ~Adapter() { delete _adaptee; } virtual void Request() { _adaptee- SpecificRequest(); }private Adaptee *_adaptee;}; // clientint main() { Target *target = new Adapter(); target- Request(); delete target; return 0;} 出力 Called SpecificRequest() http //www.dofactory.com/Patterns/PatternAdapter.aspx#_self2 をC++にした(real world example) #include iostream #include string #include ctype.h using namespace std; // The Target classclass Compound {public // constructor Compound(const string chemical) { _chemical = chemical; } virtual void Display() { cout endl "Compound " _chemical " ------ " endl; }protected string _chemical; float _boilingPoint; float _meltingPoint; double _molecularWeight; string _molecularFormula;}; // The Adaptee classclass ChemicalDatabank {public // legacy API float GetCriticalPoint(string compound, const string point) { ToLower(compound); // Melting Point if (point == "M") { if (compound == "water") { return 0.0f; } else if (compound == "benzene") { return 5.5f; } else if (compound == "ethanol") { return -114.1f; } else { return 0.0f; } } // Biling Point else { if (compound == "water") { return 100.0f; } else if (compound == "benzene") { return 80.1f; } else if (compound == "ethanol") { return 78.3f; } else { return 0.0f; } } } string GetMolecularStructure(string compound) { string ret; ToLower(compound); if (compound == "water") { ret = "H2O"; } else if (compound == "benzene") { ret = "C6H6"; } else if (compound == "ethanol") { ret = "C2H5OH"; } return ret; } double GetMolecularWeight(string compound) { ToLower(compound); if (compound == "water") { return 18.015; } else if (compound == "benzene") { return 78.1134; } else if (compound == "ethanol") { return 46.0688; } else { return 0.0; } }private void ToLower(string str) { string iterator it; for (it=str.begin(); it!=str.end(); ++it) { *it = tolower(*it); } }}; // The Adapter classclass RichCompound public Compound {public // constructor RichCompound(const string name) Compound(name) { _bank = NULL; } virtual ~RichCompound() { if (_bank != NULL) delete _bank; } virtual void Display() { if (_bank == NULL) _bank = new ChemicalDatabank(); _boilingPoint = _bank- GetCriticalPoint(_chemical, "B"); _meltingPoint = _bank- GetCriticalPoint(_chemical, "M"); _molecularWeight = _bank- GetMolecularWeight(_chemical); _molecularFormula = _bank- GetMolecularStructure(_chemical); Compound Display(); cout " Formula " _molecularFormula endl; cout " Weight " _molecularWeight endl; cout " Melting Pt " _meltingPoint endl; cout " Boiling Pt " _boilingPoint endl; }private ChemicalDatabank *_bank;}; // clientint main() { // Non-adapted chemical compound Compound *unknown = new Compound("Unknown"); unknown- Display(); // Adapted chemical compounds Compound *water = new RichCompound("Water"); water- Display(); Compound *benzene = new RichCompound("Benzene"); benzene- Display(); Compound *ethanol = new RichCompound("Ethanol"); ethanol- Display(); delete unknown; delete water; delete benzene; delete ethanol; return 0;} 出力 Compound Unknown ------ Compound Water ------ Formula H2O Weight 18.015 Melting Pt 0 Boiling Pt 100 Compound Benzene ------ Formula C6H6 Weight 78.1134 Melting Pt 5.5 Boiling Pt 80.1 Compound Ethanol ------ Formula C2H5OH Weight 46.0688 Melting Pt -114.1 Boiling Pt 78.3 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Adapter http //japan.internet.com/developer/20080902/26.html
https://w.atwiki.jp/oraclesoa/pages/17.html
Adapter AdapterDatabase Adapter設定 トラブルシューティング Database Adapter 設定 データベース接続の設定 トラブルシューティング ポーリングを含むプロセスのデプロイがORABPEL-09903で失敗する
https://w.atwiki.jp/jpops/pages/663.html
ADAPTER。をお気に入りに追加 ADAPTER。のリンク #bf Amazon.co.jp ウィジェット ADAPTER。の報道 AWS、GPUベースのワークロード向け新EC2インスタンス「G5g」一般提供(ZDNet Japan) - Yahoo!ニュース - Yahoo!ニュース M.2 SSDを内蔵すると、ストレージにもなるUSB Hub - PC Watch OWC、「Thunderbolt to Dual DisplayPort Adapter」 国内発売。10月25日まで10%オフで購入可能 - CoRRiENTE.top LIGHTFORCESTOREがユニセックスのアパレル新ブランド「ADAPTER」をローンチ!~反射材テクノロジーを現代服にアダプテーション~ - アットプレス(プレスリリース) Acoustune、ジャックを交換できるLightning端子用変換アダプタ - AV Watch GaN採用の150W ACアダプタがオリオスペックに入荷、Adapter Technology製 - AKIBA PC Hotline! データサイエンティストが手掛けるお弁当惣菜のビッグデータカンパニー「アダプター」株式投資型クラウドファンディングを開始 - PR TIMES Amazon Connect CTI Adapter for Salesforce が Contact Lens のサポートを開始 - amazon.com Amazon Connect CTI Adapter for Salesforce が 9 つの新しい言語のサポートを開始 - amazon.com 食品業界のマーケティングリサーチを効率化!ADAPTER INC. がSFAツール「フードデータ・コンテナ」をリリース! - PR TIMES “AIノイキャン”で通話がクリアに!? ASUSマイクアダプターの実力検証 - AV Watch コシナ、ニコンZ用のClose Focus Adapterを発売 - デジカメ Watch 機内エンターテインメントもBluetoothで!RHAの「Wireless Flight Adapter」レビュー - PHILE WEB - PHILE WEB もっと近づいて撮りたい!を叶えるマウントアダプター「VM-X Close Focus Adapter」 - GetNavi web コシナ、Xマウント対応アダプター「VM-X Close Focus Adapter」を8/29発売 - 価格.com フォクトレンダー「Close Focus Adapter」に富士フイルムX用 - デジカメ Watch 9年前のiPod touchで愛車の状態が確認できる「Defi Smart Adapter」を使った (1/2) - ASCII.jp 【CP+2019】フォクトレンダーの参考出品レンズが試写可能 - デジカメ Watch ラズパイを“SCSIデバイス化”する「RaSCSI Adapter Lite」に新バージョン - impress.co.jp USBでノートPCに爆速10Gbpsをつなげる「OWC Thunderbolt 3 10G Ethernet Adapter」レビュー - GIGAZINE [新世紀シネマレンズ漂流:もの作りの現場から編]Vol.05 FUJINONのMK50-135mm T2.9に最適化されたSLR Magic Anamorphot-65 1.33x Anamorphic Adapter試用レポート - PRONEWS MSXでSG-1000のゲームを動かすためのアダプタ「MEGA MSX ADAPTER」 - AKIBA PC Hotline! 次期iPhoneの付属ACアタプターはUSB-C? - ITmedia HCNETのAdapterシリーズ、VISUACT-Xと連係し、Windows(R)環境の脅威検知および不正通信端末遮断ソリューションを実現 - PR TIMES HCNET、Adapterシリーズがセキュリティアプライアンス、認証スイッチと連係し不正通信端末遮断を実現 - EnterpriseZine HCNETのAdapterシリーズ、FortiGate、FortiAnalyzer、APRESIAと連係し、不正通信端末遮断ソリューションを実現 - PR TIMES HCNETのAdapterシリーズ、他社セキュリティ製品と連携した不正通信端末遮断ソリューションを実現 - クラウド Watch HCNETのAdapterシリーズ、パロアルトネットワークス社のPA-3050およびAPRESIAと連係し、不正通信端末遮断ソリューションを実現 - PR TIMES 検疫ネットワークアプライアンス「QuOLA@Adapter」~ Windows 10のセキュリティパッチに対応した、Version 5.04をリリース - PR TIMES 米iCAT社NetworkAudiophileAdapterとUSBDACを発表 - @Press Elastic Network Adapter – Amazon EC2 向けの高性能パフォーマンスネットワークインターフェイス | Amazon Web Services - amazon.com LOG@Adapter Version 5.02をリリース ~ 新ソリューション「不正通信端末遮断ソリューション」を展開 ~ - PR TIMES 峰倉かずや「WILD ADAPTER」ゼロサムオンラインで連載再開!7巻の続きから - コミックナタリー 日本マイクロソフト、Miracast対応ディスプレイアダプタ「Microsoft Wireless Display Adapter」新モデルを発表 - - ITmedia 日立電線ネットワークスの検疫ネットワーク製品「QuOLA@Adapter」、Windows 10に対応 - クラウド Watch 認証・アカウント管理・DHCPアプライアンス「Account@Adapter+」 ~「Account@Adapter」を全面的にリニューアル、使いやすさを追求 - PR TIMES 認証・DHCPアプライアンス「Account@Adapter」Version 5.05 をリリース - PR TIMES エージェントレス検疫アプライアンス「QuOLA@Adapter」 機能連係で、LanScope Cat管理外の端末に対するセキュリティ対策を実現 - PR TIMES オールインワン認証アプライアンス「Account@Adapter」Shibboleth認証への新たな取り組み - PR TIMES オールインワン認証アプライアンス「Account@Adapter」仮想アプライアンスを販売開始、証明書自動インポート機能も実装 - PR TIMES フォクトレンダー、35mmフルサイズ対応になった「VM E-mount Adapter II」 - AV Watch オールインワン認証アプライアンス「Account@Adapter」 証明書の管理・配布の課題を認証局機能強化で解決 - PR TIMES オールインワン認証アプライアンス「Account@Adapter」大学間ローミングeduroam(RADIUS proxy)に対応 - PR TIMES オールインワン認証アプライアンス「Account@Adapter」BYODスマートデバイス申請、MACアドレス自動登録、ゲストID発行に対応 - PR TIMES Lightning to 30-pin Adapter お手持ちのケーブルで iPhone 5 の充電や同期ができる便利なアダプタ。 - AppBank ムービー・音楽・画像ファイルをどれでも好きな形式へ変換できるフリーソフト「Adapter」 - GIGAZINE サムライデジロック・ADAPTER。、TVアニメ『BRAVE10』エンディングに - BARKS 話題のヴィジュアル系プロジェクト「ADAPTER。」の最新曲を【新・オンガク生活 mu-mo】にて着うたフル(R)独占先行配信! - PR TIMES アレに葉っぱを生やしてみた 写真で見る「AC Adapter MIDORI」:ふぉーんなハナシ - - ITmedia ADAPTER。とは ADAPTER。の79%は言葉で出来ています。ADAPTER。の11%は勇気で出来ています。ADAPTER。の8%はビタミンで出来ています。ADAPTER。の2%はスライムで出来ています。 ADAPTER。@ウィキペディア ADAPTER。 Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ ADAPTER。 このページについて このページはADAPTER。のインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるADAPTER。に関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/eslina/pages/41.html
名称 adapter_reset - 書式 void adapter_reset( mic_ctx_t * mic_ctx, int wait_reset, int reattempt); 引数 mic_ctx wait_reset reattempt 説明 戻り値 参照 実装 host/driver/uos_download.c 996 void 997 adapter_reset(mic_ctx_t *mic_ctx, int wait_reset, int reattempt) 998 { 999 uint32_t resetReg; 1000 mutex_lock( mic_ctx- state_lock); 1001 /* TODO check state for lost node as well once design is done */ 1002 if ((mic_ctx- state == MIC_RESET || mic_ctx- state == MIC_READY) (reattempt == 0)) { 1003 if (wait_reset == 0) { 1004 mic_setstate( mic_ctx- state, MIC_INVALID); 1005 del_timer_sync( mic_ctx- boot_timer) ; 1006 mutex_unlock( mic_ctx- state_lock); 1007 return; 1008 } 1009 mutex_unlock( mic_ctx- state_lock); 1010 return; 1011 } 1012 1013 mic_setstate( mic_ctx- state, MIC_RESET); 1014 1015 mutex_unlock( mic_ctx- state_lock); 1016 1017 del_timer_sync( mic_ctx- boot_timer) ; 1018 1019 //Write 0 to uos download status otherwise we might continue booting 1020 //before reset has completed... 1021 SBOX_WRITE(0, mic_ctx- mmio.va, SBOX_SCRATCH2); 1022 1023 // Virtual network link value should be 0 before reset 1024 SBOX_WRITE(0, mic_ctx- mmio.va, SBOX_SCRATCH14); 1025 1026 // Data from Doorbell1 about restart/shutdown should be 0 before reset 1027 SBOX_WRITE(0, mic_ctx- mmio.va, SBOX_SDBIC1); 1028 1029 //This will trigger reset 1030 resetReg = SBOX_READ(mic_ctx- mmio.va, SBOX_RGCR); 1031 resetReg |= 0x1; 1032 SBOX_WRITE(resetReg, mic_ctx- mmio.va, SBOX_RGCR); 1033 1034 /* At least of KNF it seems we really want to delay at least 1 second */ 1035 /* after touching reset to prevent a lot of problems. */ 1036 msleep(1000); 1037 1038 if (!wait_reset) { 1039 return; 1040 } 1041 1042 adapter_wait_reset(mic_ctx); 1043 }
https://w.atwiki.jp/sampleisbest/pages/79.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 プロジェクト プロジェクト名 aaa アプリケーションの種類 Windows アプリケーション 追加のオプション 空のプロジェクト レジストリへの登録 regsvr32 C \aaa.dll レジストリの登録を解除 regsvr32 /u C \aaa.dll DLLの置き換え レジストリの登録を解除 シェル(explorer)を再起動 デバッグにはDebugViewを使う。 参考 ショートカットメニュー ハンドラ aaa.def ; リンカー/入力/モジュール定義ファイル LIBRARY"aaa" EXPORTS DllCanUnloadNow PRIVATE DllGetClassObject PRIVATE DllRegisterServer PRIVATE DllUnregisterServer PRIVATE aaa.h class CContextMenu public IContextMenu, public IShellExtInit { public STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release(); // IContextMenu STDMETHODIMP QueryContextMenu( HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); STDMETHODIMP GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax); STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO pici); // IShellExtInit STDMETHODIMP Initialize(PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID); CContextMenu(); ~CContextMenu(); private LONGm_cRef; }; class CClassFactory public IClassFactory { public STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release(); // IClassFactory STDMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject); STDMETHODIMP LockServer(BOOL fLock); }; aaa.cpp #pragma comment(lib, "shlwapi.lib") #include ShlObj.h #include Shlwapi.h #include Windows.h #include "aaa.h" // 関数プロトタイプ宣言 void LockModule(BOOL bLock); BOOL CreateRegistryKey(HKEY hKeyRoot, LPTSTR lpszKey, LPTSTR lpszValue, LPTSTR lpszData); void Trace(LPCTSTR ptcFormat, ...); // グローバル変数 const CLSIDCLSID_ContextMenuSample = {0x6986c66a, 0x401f, 0x4535, {0x89, 0x18, 0x48, 0x07, 0x29, 0x39, 0xd2, 0xa4}}; const TCHARg_szClsid[] = TEXT("{6986C66A-401F-4535-8918-48072939D2A4}"); const TCHARg_szProgid[] = TEXT("Sample.ShellExtension"); const TCHARg_szExt[] = TEXT(".aaa"); const TCHARg_szHandlerName[] = TEXT("My ShortcutMenu Handler"); LONGg_lLocks = 0; HINSTANCEg_hinstDll = NULL; //============================================================================== // CContextMenu CContextMenu CContextMenu() { m_cRef = 1; LockModule(TRUE); } CContextMenu ~CContextMenu() { LockModule(FALSE); } STDMETHODIMP CContextMenu QueryInterface(REFIID riid, void **ppvObject) { *ppvObject = NULL; if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_IContextMenu)) { *ppvObject = static_cast IContextMenu * (this); } else if (IsEqualIID(riid, IID_IPersist) || IsEqualIID(riid, IID_IShellExtInit)) { *ppvObject = static_cast IShellExtInit * (this); } else { return E_NOINTERFACE; } AddRef(); return S_OK; } STDMETHODIMP_(ULONG) CContextMenu AddRef() { return InterlockedIncrement( m_cRef); } STDMETHODIMP_(ULONG) CContextMenu Release() { if (InterlockedDecrement( m_cRef) == 0) { delete this; return 0; } return m_cRef; } //------------------------------------------------------------------------------ // IContextMenu STDMETHODIMP CContextMenu QueryContextMenu( HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { MENUITEMINFOmii; if (uFlags CMF_DEFAULTONLY) { return MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_NULL, 0); } mii.cbSize= sizeof (MENUITEMINFO); mii.fMask= MIIM_ID | MIIM_TYPE; mii.fType= MFT_STRING; mii.wID= idCmdFirst; mii.dwTypeData= TEXT("A"); InsertMenuItem(hmenu, indexMenu, TRUE, mii); return MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_NULL, 1); } STDMETHODIMP CContextMenu GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPSTR pszName, UINT cchMax) { switch (idCmd) { case 0 switch (uFlags) { case GCS_HELPTEXTA lstrcpyA(pszName, "説明文A"); break; case GCS_HELPTEXTW lstrcpyW((LPWSTR)pszName, L"説明文A"); break; case GCS_VERBA lstrcpyA(pszName, "A"); break; case GCS_VERBW lstrcpyW((LPWSTR)pszName, L"A"); break; } break; default return E_FAIL; } return S_OK; } STDMETHODIMP CContextMenu InvokeCommand(LPCMINVOKECOMMANDINFO pici) { UINTidCmd = LOWORD(pici- lpVerb); if (HIWORD(pici- lpVerb) != 0) { return E_INVALIDARG; } switch (idCmd) { case 0 MessageBox(NULL, TEXT("A"), TEXT("OK"), MB_OK); break; } return S_OK; } //------------------------------------------------------------------------------ // IShellExtInit STDMETHODIMP CContextMenu Initialize(PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID) { Trace(L"Initialize\n"); //Trace(L"%u\n", pidlFolder- mkid.cb); return S_OK; } //============================================================================== // CClassFactory STDMETHODIMP CClassFactory QueryInterface(REFIID riid, void **ppvObject) { *ppvObject = NULL; if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_IClassFactory)) { *ppvObject = static_cast IClassFactory * (this); } else { return E_NOINTERFACE; } AddRef(); return S_OK; } STDMETHODIMP_(ULONG) CClassFactory AddRef() { LockModule(TRUE); return 2; } STDMETHODIMP_(ULONG) CClassFactory Release() { LockModule(FALSE); return 1; } //------------------------------------------------------------------------------ // IClassFactory STDMETHODIMP CClassFactory CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject) { CContextMenu*p; HRESULThr; *ppvObject = NULL; if (pUnkOuter != NULL) { return CLASS_E_NOAGGREGATION; } p = new CContextMenu(); if (p == NULL) { return E_OUTOFMEMORY; } hr = p- QueryInterface(riid, ppvObject); p- Release(); return hr; } STDMETHODIMP CClassFactory LockServer(BOOL fLock) { LockModule(fLock); return S_OK; } //============================================================================== // DLL Export STDAPI DllCanUnloadNow(void) { return (g_lLocks == 0) ? S_OK S_FALSE; } STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { static CClassFactory serverFactory; HRESULThr; *ppv = NULL; if (IsEqualCLSID(rclsid, CLSID_ContextMenuSample)) { hr = serverFactory.QueryInterface(riid, ppv); } else { hr = CLASS_E_CLASSNOTAVAILABLE; } return hr; } STDAPI DllRegisterServer(void) { TCHARszModulePath[MAX_PATH]; TCHARszKey[256]; wsprintf(szKey, TEXT("CLSID\\%s"), g_szClsid); if (!CreateRegistryKey(HKEY_CLASSES_ROOT, szKey, NULL, TEXT("ShellExtension Sample"))) { return E_FAIL; } GetModuleFileName(g_hinstDll, szModulePath, _countof(szModulePath)); wsprintf(szKey, TEXT("CLSID\\%s\\InprocServer32"), g_szClsid); if (!CreateRegistryKey(HKEY_CLASSES_ROOT, szKey, NULL, szModulePath)) { return E_FAIL; } wsprintf(szKey, TEXT("CLSID\\%s\\InprocServer32"), g_szClsid); if (!CreateRegistryKey(HKEY_CLASSES_ROOT, szKey, TEXT("ThreadingModel"), TEXT("Apartment"))) { return E_FAIL; } wsprintf(szKey, TEXT("%s"), g_szExt); if (!CreateRegistryKey(HKEY_CLASSES_ROOT, szKey, NULL, (LPTSTR)g_szProgid)) { return E_FAIL; } wsprintf(szKey, TEXT("%s\\shellex\\ContextMenuHandlers\\%s"), g_szProgid, g_szHandlerName); if (!CreateRegistryKey(HKEY_CLASSES_ROOT, szKey, NULL, (LPTSTR)g_szClsid)) { return E_FAIL; } return S_OK; } STDAPI DllUnregisterServer(void) { TCHARszKey[256]; wsprintf(szKey, TEXT("CLSID\\%s"), g_szClsid); SHDeleteKey(HKEY_CLASSES_ROOT, szKey); SHDeleteKey(HKEY_CLASSES_ROOT, g_szExt); SHDeleteKey(HKEY_CLASSES_ROOT, g_szProgid); return S_OK; } BOOL APIENTRY DllMain( HINSTANCEhinstDLL, DWORDfdwReason, LPVOIDlpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH g_hinstDll = hinstDLL; DisableThreadLibraryCalls(hinstDLL); break; } return TRUE; } //============================================================================== // Function void LockModule(BOOL bLock) { if (bLock) { InterlockedIncrement( g_lLocks); } else { InterlockedDecrement( g_lLocks); } } BOOL CreateRegistryKey(HKEY hKeyRoot, LPTSTR lpszKey, LPTSTR lpszValue, LPTSTR lpszData) { HKEYhKey; LONGlResult; DWORDdwSize; lResult = RegCreateKeyEx(hKeyRoot, lpszKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, hKey, NULL); if (lResult != ERROR_SUCCESS) { return FALSE; } if (lpszData != NULL) { dwSize = (lstrlen(lpszData) + 1) * sizeof (TCHAR); } else { dwSize = 0; } RegSetValueEx(hKey, lpszValue, 0, REG_SZ, (LPBYTE)lpszData, dwSize); RegCloseKey(hKey); return TRUE; } void Trace(LPCTSTR ptcFormat, ...) { va_listargs; TCHARatcBuf[512]; intiRet; va_start(args, ptcFormat); iRet = wsprintf(atcBuf, ptcFormat, args); if (0 iRet) { OutputDebugString(atcBuf); } va_end(args); }
https://w.atwiki.jp/fxext/pages/27.html
nsContextMenu.js カーソル位置を表すプロパティ(真偽値)onImage onLoadedImage onCompletedImage onCanvas onVideo onAudio onTextInput onKeywordField onLink onMailtoLink onSaveableLink onMathML inFrame inSrcdocFrame inSyntheticDoc hasBGImage onEditableArea onCTPPlugin カーソル位置の情報を表すプロパティimageDescURL mediaURL link linkURL linkURI linkProtocol bgImageURL その他の主なプロパティtarget textSelected isTextSelected isContentSelected isDesignMode canSpellCheck imageURL 主なメソッドsetTarget(aNode, aRangeParent, aRangeOffset) getComputedStyle(aElem, aProp) getComputedURL(aElem, aProp) disableSetDesktopBackground showItem(aItemOrId, aShow) setItemAttr(aID, aAttr, aVal ) setItemAttrFromNode(aItem_id, aAttr, aOther_id) toString() isTargetAFormControl(aNode) shouldShowSeparator(aSeparatorID) コンテキストメニューの各項目用のメソッドopenLinkInCurrent() 選択した URL を開く openLinkInTab() リンクを新しいタブで開く openLink() リンクを新しいウィンドウで開く bookmarkLink() このリンクをブックマーク saveLink() 名前を付けてリンク先を保存... sendLink() リンクの URL をメールで送信... copyEmail() メールアドレスをコピー mediaCommand(command) fullScreenVideo() 全画面表示 reloadImage() 画像を再読み込み viewMedia(event) 画像/動画だけを表示 copyMediaLocation() 画像/動画/オーディオの URL をコピー saveMedia() 名前を付けて画像/動画/オーディオを保存... sendMedia() 画像/動画/オーディオの URL をメールで送信... setDesktopBackground() デスクトップの背景に設定... viewImageInfo() 画像の情報を表示 bookmarkThisPage() このページをブックマーク savePageAs() 名前を付けてページを保存... sendPage() ページの URL をメールで送信... viewBGImage(event) 背景画像だけを表示 showOnlyThisFrame() このフレームだけを表示 openFrameInTab() フレームを新しいタブで開く openFrame() フレームを新しいウィンドウで開く reloadFrame() フレームの再読み込み addBookmarkForFrame() このフレームをブックマーク saveFrame() 名前を付けてフレームを保存... printFrame() フレームを印刷... viewFrameSource() フレームのソースを表示 viewFrameInfo() フレームの情報を表示 viewPartialSource(aContext) 選択した部分/MathMLのソースを表示 viewInfo() ページの情報を表示 addDictionaries() 辞書を追加... switchPageDirection() ページの方向を切り替える カーソル位置を表すプロパティ(真偽値) onImage onLoadedImage onCompletedImage onCanvas onVideo onAudio onTextInput onKeywordField onLink onMailtoLink onSaveableLink onMathML inFrame inSrcdocFrame inSyntheticDoc hasBGImage 背景画像がある場所 onEditableArea onCTPPlugin プラグイン上 カーソル位置の情報を表すプロパティ imageDescURL longdesc属性を持った画像の場合、その属性値(URL) mediaURL カーソルが画像・音声・動画などの上にあるとき、それらのファイルのURL link カーソルがリンク上にあるとき、そのリンク要素 linkURL カーソルがリンク上にあるとき、そのリンクのURL linkURI カーソルがリンク上にあるとき、そのリンクのnsIURI。実体は makeURI(this.linkURL) だったりする。 linkProtocol カーソルがリンク上にあるとき、そのリンクのプロトコル。実体は this.linkURI.scheme だったりする。 bgImageURL カーソル位置に背景画像があるとき、背景画像のURL その他の主なプロパティ target カーソル上のノード。これから全てが導き出されている。 textSelected isTextSelected isContentSelected isDesignMode canSpellCheck imageURL 実体は onImage==true 時限定での this.mediaURL。互換性のために存在? 主なメソッド setTarget(aNode, aRangeParent, aRangeOffset) getComputedStyle(aElem, aProp) getComputedURL(aElem, aProp) disableSetDesktopBackground showItem(aItemOrId, aShow) 指定したIDのメニューを表示/非表示にする。 setItemAttr(aID, aAttr, aVal ) setItemAttrFromNode(aItem_id, aAttr, aOther_id) toString() デバッグ用コード?? isTargetAFormControl(aNode) shouldShowSeparator(aSeparatorID) コンテキストメニューの各項目用のメソッド openLinkInCurrent() 選択した URL を開く openLinkInTab() リンクを新しいタブで開く openLink() リンクを新しいウィンドウで開く bookmarkLink() このリンクをブックマーク saveLink() 名前を付けてリンク先を保存... sendLink() リンクの URL をメールで送信... copyEmail() メールアドレスをコピー mediaCommand(command) fullScreenVideo() 全画面表示 reloadImage() 画像を再読み込み viewMedia(event) 画像/動画だけを表示 copyMediaLocation() 画像/動画/オーディオの URL をコピー saveMedia() 名前を付けて画像/動画/オーディオを保存... sendMedia() 画像/動画/オーディオの URL をメールで送信... setDesktopBackground() デスクトップの背景に設定... viewImageInfo() 画像の情報を表示 bookmarkThisPage() このページをブックマーク savePageAs() 名前を付けてページを保存... sendPage() ページの URL をメールで送信... viewBGImage(event) 背景画像だけを表示 showOnlyThisFrame() このフレームだけを表示 openFrameInTab() フレームを新しいタブで開く openFrame() フレームを新しいウィンドウで開く reloadFrame() フレームの再読み込み addBookmarkForFrame() このフレームをブックマーク saveFrame() 名前を付けてフレームを保存... printFrame() フレームを印刷... viewFrameSource() フレームのソースを表示 viewFrameInfo() フレームの情報を表示 viewPartialSource(aContext) 選択した部分/MathMLのソースを表示 viewInfo() ページの情報を表示 addDictionaries() 辞書を追加... switchPageDirection() ページの方向を切り替える
https://w.atwiki.jp/mangaka/pages/7275.html
WILD ADAPTERをお気に入りに追加 WILD ADAPTERのリンク #blogsearch2 Amazon.co.jp ウィジェット WILD ADAPTERのキャッシュ 使い方 サイト名 URL WILD ADAPTERの報道 声優・森川智之さん、『神々の記』『ズートピア』『今日からマ王!』『戦国BASARA』など代表作に選ばれたのは? − アニメキャラクター代表作まとめ - アニメイトタイムズ 最遊記、WA、生徒会執行部……峰倉かずや作品勢揃いのアニくじ、自らデザイン - コミックナタリー 峰倉かずや「WILD ADAPTER」ゼロサムオンラインで連載再開!7巻の続きから - コミックナタリー ゼロサムWARDが休刊。ボクラノキセキは本誌、WILD ADAPTERなどはWEBへ - コミックナタリー 峰倉かずや「WILD ADAPTER」原作者完全監修でOVAに その最新PVを披露 - アニメ!アニメ!Anime Anime 峰倉かずや「WILD ADAPTER」OVAのキャラデザ公開 - ナタリー 「WILD ADAPTER」連載再開!最遊記との合同イベントも - マイナビニュース 峰倉かずや「最遊記」再始動、「WILD ADAPTER」OVA化 - ナタリー 峰倉「WILD ADAPTER」新装版、特典に久保時カードなど - コミックナタリー WILD ADAPTERとは WILD ADAPTERの80%はカルシウムで出来ています。WILD ADAPTERの14%は信念で出来ています。WILD ADAPTERの4%は小麦粉で出来ています。WILD ADAPTERの1%は夢で出来ています。WILD ADAPTERの1%は呪詛で出来ています。 WILD ADAPTER@ウィキペディア WILD ADAPTER 楽天売れ筋ランキング レディースファッション・靴 メンズファッション・靴 バッグ・小物・ブランド雑貨 インナー・下着・ナイトウエア ジュエリー・腕時計 食品 スイーツ 水・ソフトドリンク ビール・洋酒 日本酒・焼酎 パソコン・周辺機器 家電・AV・カメラ インテリア・寝具・収納 キッチン・日用品雑貨・文具 ダイエット・健康 医薬品・コンタクト・介護 美容・コスメ・香水 スポーツ・アウトドア 花・ガーデン・DIY おもちゃ・ホビー・ゲーム CD・DVD・楽器 車用品・バイク用品 ペット・ペットグッズ キッズ・ベビー・マタニティ 本・雑誌・コミック ゴルフ総合 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ WILD ADAPTER このページについて このページはWILD ADAPTERのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるWILD ADAPTERに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/comic8/pages/4489.html
WILD ADAPTERをお気に入りに追加 情報1課 <WILD ADAPTER> #bf 外部リンク課 <WILD ADAPTER> ウィキペディア(Wikipedia) - WILD ADAPTER Amazon.co.jp ウィジェット 保存課 <WILD ADAPTER> 使い方 サイト名 URL 情報2課 <WILD ADAPTER> #blogsearch2 成分解析課 <WILD ADAPTER> WILD ADAPTERの80%はカルシウムで出来ています。WILD ADAPTERの14%は信念で出来ています。WILD ADAPTERの4%は小麦粉で出来ています。WILD ADAPTERの1%は夢で出来ています。WILD ADAPTERの1%は呪詛で出来ています。 報道課 <WILD ADAPTER> 朝日酒造、父の日を前に「久保田 300ml 5本セット」発売! -「久保田」ランキングも発表 - マイナビニュース 声優・森川智之さん、『神々の記』『ズートピア』『今日からマ王!』『戦国BASARA』など代表作に選ばれたのは? − アニメキャラクター代表作まとめ - アニメイトタイムズ 最遊記、WA、生徒会執行部……峰倉かずや作品勢揃いのアニくじ、自らデザイン - コミックナタリー 峰倉かずや「WILD ADAPTER」ゼロサムオンラインで連載再開!7巻の続きから - コミックナタリー ゼロサムWARDが休刊。ボクラノキセキは本誌、WILD ADAPTERなどはWEBへ - コミックナタリー 「最遊記」「WILD ADAPTER」のカレンダー、ゼロサムに付属 - コミックナタリー 峰倉かずや「WILD ADAPTER」原作者完全監修でOVAに その最新PVを披露 - アニメ!アニメ!Anime Anime 峰倉かずや「WILD ADAPTER」OVAのキャラデザ公開 - ナタリー 「WILD ADAPTER」連載再開!最遊記との合同イベントも - マイナビニュース 峰倉かずや「最遊記」再始動、「WILD ADAPTER」OVA化 - ナタリー 峰倉「WILD ADAPTER」新装版、特典に久保時カードなど - コミックナタリー 情報3課 <WILD ADAPTER> #technorati マンガとは マンガの33%は厳しさで出来ています。マンガの30%はカルシウムで出来ています。マンガの25%は元気玉で出来ています。マンガの9%は毒物で出来ています。マンガの1%は月の光で出来ています。マンガの1%は毒電波で出来ています。マンガの1%は魂の炎で出来ています。 28589.jpg?_ex=300x300 s=2 r=1 ヨスガノソラ 春日野 穹 -すくみず 楽天売れ筋ランキング レディースファッション・靴 メンズファッション・靴 バッグ・小物・ブランド雑貨 インナー・下着・ナイトウエア ジュエリー・腕時計 食品 スイーツ 水・ソフトドリンク ビール・洋酒 日本酒・焼酎 パソコン・周辺機器 家電・AV・カメラ インテリア・寝具・収納 キッチン・日用品雑貨・文具 ダイエット・健康 医薬品・コンタクト・介護 美容・コスメ・香水 スポーツ・アウトドア 花・ガーデン・DIY おもちゃ・ホビー・ゲーム CD・DVD・楽器 車用品・バイク用品 ペット・ペットグッズ キッズ・ベビー・マタニティ 本・雑誌・コミック ゴルフ総合 ページ先頭へ WILD ADAPTER このサイトについて 当サイトは漫画のタイトル毎にインターネット上の情報を時系列に網羅したリンク集のようなものです。ページをブックマークしておけば、ほぼ毎日その漫画のタイトルに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。
https://w.atwiki.jp/eslina/pages/19.html
名称 get_adapter_memsize - アダプタのメモリサイズを取得する 書式 int get_adapter_memsize( uint8_t * mmio_va, uint32_t * adapter_mem_size); 引数 mmio_va メモリサイズを取得するアダプタのMMIOの仮想アドレス adapter_mem_size メモリサイズを受け取る領域 説明 引数mmio_vaでしていされたアダプタのメモリサイズを取得する。 取得したメモリサイズは、引数adapter_mem_sizeが示す領域に格納する。値の単位はバイト。 実装されているメモリサイズではなく、空きメモリサイズを返すらしい。 返す値はページサイズの整数倍にならないことがある。 メモリサイズの取得には、SBOX_SCRATCH0レジスタを使用する。 戻り値 処理に成功した場合、引数adapter_mem_sizeが示す領域に値を設定し、0を返す。 そうでない場合、0以外の値を返す。 とはいうものの、失敗するケースはない。 参照 SBOX_SCRATCH0 実装 host/driver/uos_download.c 198 /* 199 DESCRIPTION gets adapter memory size. calculates size based on scratch register 0 200 PARAMETERS 201 [in]void *mmio_va - virtual address to access MMIO registers 202 [out]uint32_t *adapter_mem_size - adapter memory size 203 RETURN_VALUE 0 if successful, non-zero if failure 204 */ 205 int 206 get_adapter_memsize(uint8_t *mmio_va, uint32_t *adapter_mem_size) 207 { 208 int status = 0; 209 uint32_t memsize = 0; 210 uint32_t scratch0 = {0}; 211 212 scratch0 = SBOX_READ(mmio_va, SBOX_SCRATCH0); 213 memsize = SCRATCH0_MEM_SIZE_KB(scratch0) * ((1) * 1024); 214 215 // Adjust the memory size based on the memory usage 216 switch (SCRATCH0_MEM_USAGE(scratch0)) { 217 case SCR0_MEM_ALL 218 // Do nothing 219 break; 220 221 case SCR0_MEM_HALF 222 memsize /= 2; 223 break; 224 225 case SCR0_MEM_THIRD 226 memsize /= 3; 227 break; 228 229 case SCR0_MEM_FOURTH 230 memsize /= 4; 231 break; 232 233 default 234 // DBG_ASSERT_MSG(false, "Invalid memory usage specified by the bootstrap.\n"); 235 break; 236 } 237 238 *adapter_mem_size = memsize; 239 240 return status; 241 }