Открыть главное меню

DL FsSSearch: различия между версиями

(VYtixEwbAy)
 
(не показано 18 промежуточных версий 17 участников)
Строка 1:Строка 1:
<tt>UINT16 '''DL_FsSSearch'''(FS_SEARCH_PARAMS_T params, WCHAR *search_string, FS_SEARCH_HANDLE_T *handle, UINT16 *res_count, DL_FS_OWNER_T owner_id);</tt>
+
<tt>UINT16 '''DL_FsSSearch'''(FS_SEARCH_PARAMS_T params, WCHAR *search_string, FS_SEARCH_HANDLE_T *handle, UINT16 *res_count, DL_FS_OWNER_T owner_id);</tt><metadesc>Функция DL для синхронного поиска файлов</metadesc>
  
rVW0VI  <a href="http://vnidghjoyves.com/">vnidghjoyves</a>, [url=http://crkpxwifjlgz.com/]crkpxwifjlgz[/url], [link=http://pikwdyevxfyp.com/]pikwdyevxfyp[/link], http://flptugrqgycd.com/
+
== Описание ==
 +
Функция [[Device Layer|DL]] для синхронного поиска файлов
  
http://www.jesusbloggingchrist.com/ billig cialis online 486 http://www.saarapeutereheikka.com/ viagra mgxxil http://www.sejour-inde-essence.com/ koop viagra online vvxay
+
== Параметры ==
 +
#'''FS_SEARCH_PARAMS_T params
 +
#:[[#FS_SEARCH_PARAMS_T|Параметры для поиска]]
 +
#'''WCHAR *search_string
 +
#:[[#Строка для поиска|Строка для поиска]]
 +
#'''FS_SEARCH_HANDLE_T *handle
 +
#:Указатель на переменную, в которую возвращается идентификатор поиска
 +
#'''UINT16 *res_count
 +
#:Указатель на переменную, куда сохранится количество результатов поиска
 +
#'''DL_FS_OWNER_T owner_id
 +
#:Идентификатор владельца файла, обычно 0
  
http://www.witch-ring.com/ Viagra en línea jgk http://www.primetermites.com/Generic-Viagra/ 格安バイアグラをオンラインで購入する >:-[ http://www.witch-ring.com/Generic-Cialis/ Cialis barata online =-D http://www.anilengg.org/Generic-Cialis/ cialis >:-]] http://www.fayeunrauphotography.com/ viagra 8-[ http://www.vakaloka.net/ cialis fdm http://www.davidcanek.com/ viagra =-DD http://www.icedtrish.com/Generic-Cialis/ billige priser på cialis tohm http://www.blogdemoteros.com/ acquistaree cialis vwhj http://www.asociaciontotora.com/Generic-Cialis/ tilaa cialis verkosta poulh http://www.fayeunrauphotography.com/ kjøp cialis på nett =PPP http://www.autisme-modedemploi.org/Generic-Viagra/ viagra xfbu http://www.anilengg.org/Generic-Cialis/ ordinare cialis %OO http://www.anilengg.org/ viagra generico economico naubw http://www.witch-ring.com/ Comprar Cialis 3502 http://www.davidcanek.com/ Viagra pas cher 6325 http://www.yearsforbeards.com/ cialis 8[ http://www.oaklakewriterssociety.org/Generic-Viagra/ generisk viagra lyjk http://www.itdsoftware.com/Generic-Cialis/ bestel cialis jtwk http://www.jesusbloggingchrist.com/ viagra nqhf http://www.yearsforbeards.com/Generic-Viagra/ generisk viagra 8-[[[ http://www.itdsoftware.com/Generic-Cialis/ cialis te koop 1830 http://www.primetermites.com/ 処方箋なしで購入するシアリス %-PPP http://www.witch-ring.com/ cialis 976123 http://www.yearsforbeards.com/Generic-Viagra/ hvor kan man kjøpe Viagra 8-]] http://www.flweaver.com/ cialis =-O http://www.anilengg.org/Generic-Cialis/ cialis in vendita >:-D http://www.yearsforbeards.com/Generic-Cialis/ generisk cialis 401 http://www.icedtrish.com/ køb viagra ifvihl http://www.exercicioebeleza.com/ buy domain tramadol 8PPP http://www.supermonkeyballs.net/propecia.html get online prescription for propecia tsqyqx http://www.imrightyourwrong.com/cialis.html cialis >:PP http://www.thecheaterslair.com/ priligy 8[[[ http://www.treintadetreinta.org/propecia.html propecia 18786 http://www.dbwinebarandkitchen.com/ skelaxin 21351 http://www.worldtaichiday-akl.org/ seroquel on line :-[[[ http://www.annssunnyday.com/ valtrex >:-)) http://www.samcontracts.com/ tramadol 40312 http://www.imrightyourwrong.com/accutane.html cheap accutane online ynjkg http://www.vakaloka.net/Generic-Viagra/ generisches Viagra ero http://www.autisme-modedemploi.org/Generic-Cialis/ cialis mwjxa http://www.itdsoftware.com/ cialis te koop alhsdh http://www.fayeunrauphotography.com/ billig viagra %DDD http://www.vakaloka.net/ Viagra online kaufen =))) http://www.saarapeutereheikka.com/ cialis ilman reseptiä anumn http://www.oaklakewriterssociety.org/Generic-Viagra/ viagra 52251 http://www.vinoentetrapak.com/ cialis :-( http://www.fayeunrauphotography.com/ kostnad for viagra 5283 http://www.saarapeutereheikka.com/ viagra 38326 http://www.googlefight.net/ cialis 764 http://www.anilengg.org/ cialis online >:-O http://www.getmedizin.com/ levitra iunod http://www.lowpricemed.net/ viagra 74318 http://www.skincarepills.net/ accutane 0184 http://www.pillstoday.net/ propecia mkk http://www.findmedsnow.com/ viagra propecia buy online 26712 http://www.lowpricemed.net/ viagra 8PPP http://www.pillsonnet.net/ accutane online dvyc http://www.skincarepills.net/ order accutane online itxf http://www.pillstoday.net/ propecia and buy 6827 http://www.medsshopping.net/ prednisone wuc http://www.medsproducts.net/ tramadol 102 http://www.lowpricemed.net/ cost of viagra 8-((( http://www.findmedsnow.com/ propecia 8[
+
----
 +
=== FS_SEARCH_PARAMS_T ===
 +
<pre>
 +
typedef struct
 +
{
 +
#if defined(FTR_L7E) || defined(FTR_L9)
 +
UINT32 flags;
 +
#else
 +
UINT8 flags;
 +
#endif
 +
UINT16 attrib; // В результат попадают те файлы, у которых (аттрибуты & mask == attrib)
 +
UINT16 mask;
 +
} FS_SEARCH_PARAMS_T;
 +
</pre>
 +
 
 +
==== Значения флагов ====
 +
Для формирования поля '''flags''' структуры [[#FS_SEARCH_PARAMS_T|FS_SEARCH_PARAMS_T]], можно комбинировать следующие флаги с помощью операции "логическое или", например
 +
<pre>
 +
FS_SEARCH_PATH_START | FS_SEARCH_RECURSIVE
 +
</pre>
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 +
|-
 +
| style="width:200px" |'''FS_SEARCH_EXCLUDE''' || ?
 +
|-
 +
|'''FS_SEARCH_COMBINED''' || ?
 +
|-
 +
|'''FS_SEARCH_SORT_CHRONOLOGICAL''' || Cортировка по времени (создания/редактирования?)
 +
|-
 +
|'''FS_SEARCH_DIR_LISTING, FS_SEARCH_FOLDERS''' || Возможно выдаст список папок
 +
|-
 +
|'''FS_SEARCH_PATH_START, FS_SEARCH_START_PATH''' || Имена файлов в результате будут содержать полный путь
 +
|-
 +
|'''FS_SEARCH_SORT_ALPHANUMERIC, FS_SEARCH_SORT_BY_NAME''' || Сортировка по алфавиту
 +
|-
 +
|'''FS_SEARCH_OWNER_MATCH''' || Проверять владельца
 +
|-
 +
|'''FS_SEARCH_RECURSIVE''' || Рекурсивный поиск (будет искать в подпапках)
 +
|-
 +
|'''FS_SEARCH_RECURSIVE_AND_SORT_BY_NAME''' || FS_SEARCH_PATH_START, FS_SEARCH_SORT_ALPHANUMERIC и FS_SEARCH_RECURSIVE вместе
 +
|-
 +
|'''FS_SEARCH_RECURSIVE_AND_SORT_BY_TIME''' || FS_SEARCH_PATH_START, FS_SEARCH_SORT_CHRONOLOGICAL и FS_SEARCH_RECURSIVE вместе
 +
|}
 +
 
 +
 
 +
==== Значения атрибутов ====
 +
Для формирования поля '''attrib''' структуры [[#FS_SEARCH_PARAMS_T|FS_SEARCH_PARAMS_T]], можно комбинировать следующие флаги с помощью операции "логическое или":
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 +
|-
 +
| style="width:200px" |'''FS_ATTR_DEFAULT''' || По умолчанию
 +
|-
 +
|'''FS_ATTR_READONLY''' || Файл с аттрибутом только чтение
 +
|-
 +
|'''FS_ATTR_HIDDEN''' || Файл с аттрибутом скрытый
 +
|-
 +
|'''FS_ATTR_SYSTEM''' || Файл с аттрибутом системный
 +
|-
 +
|'''FS_ATTR_VOLUME''' || Аттрибут диска
 +
|-
 +
|'''FS_ATTR_DIRECTORY''' || Аттрибут папки
 +
|-
 +
|'''FS_ATTR_ARCHIVE''' || Файл с аттрибутом архивный
 +
|}
 +
 
 +
<br>
 +
----
 +
 
 +
=== Строка для поиска ===
 +
Для формирования поисковой строки, сначала пишем папку(ки), где будем искать:
 +
<pre>
 +
L"file://b/mobile/audio/"
 +
</pre>
 +
 
 +
В поисковой строке также присутствуют спецсимволы-разделители. Вставляются их значения прямо в текст строки с помощью символа "\". Например, если мы хотим добавить в строку поиска паттерну для поиска, то мы добавляем разделитель FS_MATCH_SEPARATOR (0xFFFE), и сразу после него пишем паттерны (*.mp3 для музыки):
 +
<pre>
 +
L"file://b/mobile/audio/\0xFFFE*.mp3"
 +
</pre>
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 +
! Название !! Значение !! Описание
 +
|-
 +
| style="width:200px" |'''FS_MATCH_SEPARATOR''' || style="width:90px" | 0xFFFE || Разделитель между паттернами для поиска
 +
|-
 +
|'''FS_MATCH_PATH_SEPARATOR''' || 0xFFFD || Разделитель между путями для поиска
 +
|-
 +
|'''FS_MATCH_PATH_NONREC_SEPARATOR''' || 0xFFFC || ?
 +
|-
 +
|'''FS_MATCH_PATH_EXCLUDE_SEPARATOR''' || 0xFFFB || Разделитель между путями, которые нужно исключить из поиска
 +
|-
 +
|'''FS_MATCH_PATH_NONREC_EXCLUDE_SEPARATOR''' || 0xFFFA || ?
 +
|}
 +
 
 +
== Пример ==
 +
<pre>
 +
// Ищем все mp3 файлы на флешке в папке аудио
 +
DL_FsSSearch(search, L"file://b/mobile/audio/\0xFFFE*.mp3", &handle, &count, DL_FS_OWNER_RESERVED);
 +
</pre>
 +
 
 +
[[Категория:Функции Файловой Системы]]

Текущая версия на 04:48, 8 апреля 2019

UINT16 DL_FsSSearch(FS_SEARCH_PARAMS_T params, WCHAR *search_string, FS_SEARCH_HANDLE_T *handle, UINT16 *res_count, DL_FS_OWNER_T owner_id);

Описание

Функция DL для синхронного поиска файлов

Параметры

  1. FS_SEARCH_PARAMS_T params
    Параметры для поиска
  2. WCHAR *search_string
    Строка для поиска
  3. FS_SEARCH_HANDLE_T *handle
    Указатель на переменную, в которую возвращается идентификатор поиска
  4. UINT16 *res_count
    Указатель на переменную, куда сохранится количество результатов поиска
  5. DL_FS_OWNER_T owner_id
    Идентификатор владельца файла, обычно 0

FS_SEARCH_PARAMS_T

typedef struct
{
#if defined(FTR_L7E) || defined(FTR_L9)	UINT32	flags;
#else	UINT8	flags;
#endif	UINT16	attrib; // В результат попадают те файлы, у которых (аттрибуты & mask == attrib)	UINT16	mask;
} FS_SEARCH_PARAMS_T;

Значения флагов

Для формирования поля flags структуры FS_SEARCH_PARAMS_T, можно комбинировать следующие флаги с помощью операции "логическое или", например

FS_SEARCH_PATH_START | FS_SEARCH_RECURSIVE
FS_SEARCH_EXCLUDE?
FS_SEARCH_COMBINED?
FS_SEARCH_SORT_CHRONOLOGICALCортировка по времени (создания/редактирования?)
FS_SEARCH_DIR_LISTING, FS_SEARCH_FOLDERSВозможно выдаст список папок
FS_SEARCH_PATH_START, FS_SEARCH_START_PATHИмена файлов в результате будут содержать полный путь
FS_SEARCH_SORT_ALPHANUMERIC, FS_SEARCH_SORT_BY_NAMEСортировка по алфавиту
FS_SEARCH_OWNER_MATCHПроверять владельца
FS_SEARCH_RECURSIVEРекурсивный поиск (будет искать в подпапках)
FS_SEARCH_RECURSIVE_AND_SORT_BY_NAMEFS_SEARCH_PATH_START, FS_SEARCH_SORT_ALPHANUMERIC и FS_SEARCH_RECURSIVE вместе
FS_SEARCH_RECURSIVE_AND_SORT_BY_TIMEFS_SEARCH_PATH_START, FS_SEARCH_SORT_CHRONOLOGICAL и FS_SEARCH_RECURSIVE вместе


Значения атрибутов

Для формирования поля attrib структуры FS_SEARCH_PARAMS_T, можно комбинировать следующие флаги с помощью операции "логическое или":

FS_ATTR_DEFAULTПо умолчанию
FS_ATTR_READONLYФайл с аттрибутом только чтение
FS_ATTR_HIDDENФайл с аттрибутом скрытый
FS_ATTR_SYSTEMФайл с аттрибутом системный
FS_ATTR_VOLUMEАттрибут диска
FS_ATTR_DIRECTORYАттрибут папки
FS_ATTR_ARCHIVEФайл с аттрибутом архивный



Строка для поиска

Для формирования поисковой строки, сначала пишем папку(ки), где будем искать:

L"file://b/mobile/audio/"

В поисковой строке также присутствуют спецсимволы-разделители. Вставляются их значения прямо в текст строки с помощью символа "\". Например, если мы хотим добавить в строку поиска паттерну для поиска, то мы добавляем разделитель FS_MATCH_SEPARATOR (0xFFFE), и сразу после него пишем паттерны (*.mp3 для музыки):

L"file://b/mobile/audio/\0xFFFE*.mp3"
НазваниеЗначениеОписание
FS_MATCH_SEPARATOR0xFFFEРазделитель между паттернами для поиска
FS_MATCH_PATH_SEPARATOR0xFFFDРазделитель между путями для поиска
FS_MATCH_PATH_NONREC_SEPARATOR0xFFFC?
FS_MATCH_PATH_EXCLUDE_SEPARATOR0xFFFBРазделитель между путями, которые нужно исключить из поиска
FS_MATCH_PATH_NONREC_EXCLUDE_SEPARATOR0xFFFA?

Пример

// Ищем все mp3 файлы на флешке в папке аудио
DL_FsSSearch(search, L"file://b/mobile/audio/\0xFFFE*.mp3", &handle, &count, DL_FS_OWNER_RESERVED);