■720 / inTopicNo.18) |
Re[4]: MSDNサンプルソースの解読 |
□投稿者/ いば 曹長(21回)-(2005/06/24(Fri) 12:04:05)
|
分類:[C#]
問題は解決したのですが、エンジニアとしてこれ位は意味がわかるようにと思い、サンプルソース解読中です。 以下はサンプルソースのMain関数の最初の部分の抜粋です。 これだけ見ても既に以下の複数の不明点があります。
・FindFirstUrlCacheGroup の使い方がわからない(MSDNで検索しても関数の仕様がでてこない) ・コメント(和訳した部分)の意味が不明(言ってることはわかります)
関数の仕様の調べ方さえわかればそれでも自分のペースで地道に調べられるのですが・・。 もし調べ方をご存知でしたら、恐れ入りますが教えて頂けますでしょうか?
// Indicates that all of the cache groups in the user's system should be enumerated const int CACHEGROUP_SEARCH_ALL = 0x0; // Indicates that all the cache entries that are associated with the cache group // should be deleted, unless the entry belongs to another cache group. const int CACHEGROUP_FLAG_FLUSHURL_ONDELETE = 0x2; // File not found. const int ERROR_FILE_NOT_FOUND = 0x2; // No more items have been found. const int ERROR_NO_MORE_ITEMS = 259; // Pointer to a GROUPID variable long groupId = 0;
// Local variables int cacheEntryInfoBufferSizeInitial = 0; int cacheEntryInfoBufferSize = 0; IntPtr cacheEntryInfoBuffer = IntPtr.Zero; INTERNET_CACHE_ENTRY_INFOA internetCacheEntry; IntPtr enumHandle = IntPtr.Zero; bool returnValue = false;
// -----元の英文----- // Delete the groups first. // Groups may not always exist on the system. // For more information, visit the following Microsoft Web site: // http://msdn.microsoft.com/library/?url=/workshop/networking/wininet/overview/cache.asp // By default, a URL does not belong to any group. // Therefore, that cache may become empty even when the CacheGroup APIs are not used because the existing URL does not belong to any group. // -----自分なりの和訳----- // 最初に今までに訪問したURLキャッシュのグループを削除する(システムが持っているのか?) // グループは常にシステム上に存在するわけではない。これ以上の情報が欲しければリンク先を参照のこと // デフォルトでは、URLはどのグループにも属さない。 // 従って、URLキャッシュはCacheGroup API群が使われていないときであっても空になるかもしれない。 // なぜなら既存のURLはどのグループにも属していないからだ。(だからどうしろと?)
enumHandle = FindFirstUrlCacheGroup(0, CACHEGROUP_SEARCH_ALL, IntPtr.Zero, 0, ref groupId, IntPtr.Zero);
// If there are no items in the Cache, you are finished. if (enumHandle != IntPtr.Zero && ERROR_NO_MORE_ITEMS == Marshal.GetLastWin32Error()) return;
|
0
|