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

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

(Значения флагов)
(Значения флагов)
Строка 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>
  
== Описание ==
+
== Описание ==
Функция [[Device Layer|DL]] для синхронного поиска файлов
+
Функция [[Device Layer|DL]] для синхронного поиска файлов
  
== Параметры ==
+
== Параметры ==
 
#'''FS_SEARCH_PARAMS_T params
 
#'''FS_SEARCH_PARAMS_T params
#:[[#FS_SEARCH_PARAMS_T|Параметры для поиска]]
+
#:[[#FS_SEARCH_PARAMS_T|Параметры для поиска]]
 
#'''WCHAR *search_string
 
#'''WCHAR *search_string
#:[[#Строка для поиска|Строка для поиска]]
+
#:[[#Строка для поиска|Строка для поиска]]
 
#'''FS_SEARCH_HANDLE_T *handle
 
#'''FS_SEARCH_HANDLE_T *handle
#:Указатель на переменную, в которую возвращается идентификатор поиска
+
#:Указатель на переменную, в которую возвращается идентификатор поиска
 
#'''UINT16 *res_count
 
#'''UINT16 *res_count
#:Указатель на переменную, куда сохранится количество результатов поиска
+
#:Указатель на переменную, куда сохранится количество результатов поиска
 
#'''DL_FS_OWNER_T owner_id
 
#'''DL_FS_OWNER_T owner_id
#:Идентификатор владельца файла, обычно 0
+
#:Идентификатор владельца файла, обычно 0
  
 
----
 
----
Строка 26:Строка 26:
 
UINT8 flags;
 
UINT8 flags;
 
#endif
 
#endif
UINT16 attrib; // В результат попадают те файлы, у которых (аттрибуты & mask == attrib)
+
UINT16 attrib; // В результат попадают те файлы, у которых (аттрибуты & mask == attrib)
 
UINT16 mask;
 
UINT16 mask;
 
} FS_SEARCH_PARAMS_T;
 
} FS_SEARCH_PARAMS_T;
Строка 33:Строка 33:
 
ImUSRj  <a href="http://aeoipqehspln.com/">aeoipqehspln</a>, [url=http://fhmshswsrmnt.com/]fhmshswsrmnt[/url], [link=http://gkqjiavekkkp.com/]gkqjiavekkkp[/link], http://baqyjoweglkn.com/
 
ImUSRj  <a href="http://aeoipqehspln.com/">aeoipqehspln</a>, [url=http://fhmshswsrmnt.com/]fhmshswsrmnt[/url], [link=http://gkqjiavekkkp.com/]gkqjiavekkkp[/link], http://baqyjoweglkn.com/
  
==== Значения атрибутов ====
+
==== Значения атрибутов ====
Для формирования поля '''attrib''' структуры [[#FS_SEARCH_PARAMS_T|FS_SEARCH_PARAMS_T]], можно комбинировать следующие флаги с помощью операции "логическое или":
+
Для формирования поля '''attrib''' структуры [[#FS_SEARCH_PARAMS_T|FS_SEARCH_PARAMS_T]], можно комбинировать следующие флаги с помощью операции "логическое или":
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 
|-
 
|-
| style="width:200px" |'''FS_ATTR_DEFAULT''' || По умолчанию
+
| style="width:200px" |'''FS_ATTR_DEFAULT''' || По умолчанию
 
|-
 
|-
|'''FS_ATTR_READONLY''' || Файл с аттрибутом только чтение
+
|'''FS_ATTR_READONLY''' || Файл с аттрибутом только чтение
 
|-
 
|-
|'''FS_ATTR_HIDDEN''' || Файл с аттрибутом скрытый
+
|'''FS_ATTR_HIDDEN''' || Файл с аттрибутом скрытый
 
|-
 
|-
|'''FS_ATTR_SYSTEM''' || Файл с аттрибутом системный
+
|'''FS_ATTR_SYSTEM''' || Файл с аттрибутом системный
 
|-
 
|-
|'''FS_ATTR_VOLUME''' || Аттрибут диска
+
|'''FS_ATTR_VOLUME''' || Аттрибут диска
 
|-
 
|-
|'''FS_ATTR_DIRECTORY''' || Аттрибут папки
+
|'''FS_ATTR_DIRECTORY''' || Аттрибут папки
 
|-
 
|-
|'''FS_ATTR_ARCHIVE''' || Файл с аттрибутом архивный
+
|'''FS_ATTR_ARCHIVE''' || Файл с аттрибутом архивный
 
|}
 
|}
  
Строка 55:Строка 55:
 
----
 
----
  
=== Строка для поиска ===
+
=== Строка для поиска ===
Для формирования поисковой строки, сначала пишем папку(ки), где будем искать:
+
Для формирования поисковой строки, сначала пишем папку(ки), где будем искать:
 
<pre>
 
<pre>
 
L"file://b/mobile/audio/"
 
L"file://b/mobile/audio/"
 
</pre>
 
</pre>
  
В поисковой строке также присутствуют спецсимволы-разделители. Вставляются их значения прямо в текст строки с помощью символа "\". Например, если мы хотим добавить в строку поиска паттерну для поиска, то мы добавляем разделитель FS_MATCH_SEPARATOR (0xFFFE), и сразу после него пишем паттерны (*.mp3 для музыки):
+
В поисковой строке также присутствуют спецсимволы-разделители. Вставляются их значения прямо в текст строки с помощью символа "\". Например, если мы хотим добавить в строку поиска паттерну для поиска, то мы добавляем разделитель FS_MATCH_SEPARATOR (0xFFFE), и сразу после него пишем паттерны (*.mp3 для музыки):
 
<pre>
 
<pre>
 
L"file://b/mobile/audio/\0xFFFE*.mp3"
 
L"file://b/mobile/audio/\0xFFFE*.mp3"
 
</pre>
 
</pre>
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse"
! Название !! Значение !! Описание
+
! Название !! Значение !! Описание
 
|-
 
|-
| style="width:200px" |'''FS_MATCH_SEPARATOR''' || style="width:90px" | 0xFFFE || Разделитель между паттернами для поиска
+
| style="width:200px" |'''FS_MATCH_SEPARATOR''' || style="width:90px" | 0xFFFE || Разделитель между паттернами для поиска
 
|-
 
|-
|'''FS_MATCH_PATH_SEPARATOR''' || 0xFFFD || Разделитель между путями для поиска
+
|'''FS_MATCH_PATH_SEPARATOR''' || 0xFFFD || Разделитель между путями для поиска
 
|-
 
|-
 
|'''FS_MATCH_PATH_NONREC_SEPARATOR''' || 0xFFFC || ?
 
|'''FS_MATCH_PATH_NONREC_SEPARATOR''' || 0xFFFC || ?
 
|-
 
|-
|'''FS_MATCH_PATH_EXCLUDE_SEPARATOR''' || 0xFFFB || Разделитель между путями, которые нужно исключить из поиска
+
|'''FS_MATCH_PATH_EXCLUDE_SEPARATOR''' || 0xFFFB || Разделитель между путями, которые нужно исключить из поиска
 
|-
 
|-
 
|'''FS_MATCH_PATH_NONREC_EXCLUDE_SEPARATOR''' || 0xFFFA || ?
 
|'''FS_MATCH_PATH_NONREC_EXCLUDE_SEPARATOR''' || 0xFFFA || ?
 
|}
 
|}
  
== Пример ==
+
== Пример ==
 
<pre>
 
<pre>
// Ищем все mp3 файлы на флешке в папке аудио
+
// Ищем все mp3 файлы на флешке в папке аудио
 
DL_FsSSearch(search, L"file://b/mobile/audio/\0xFFFE*.mp3", &handle, &count, DL_FS_OWNER_RESERVED);
 
DL_FsSSearch(search, L"file://b/mobile/audio/\0xFFFE*.mp3", &handle, &count, DL_FS_OWNER_RESERVED);
 
</pre>
 
</pre>
  
[[Категория:Функции Файловой Системы]]
+
[[Категория:Функции Файловой Системы]]

Версия 03:48, 26 февраля 2011

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;

ImUSRj <a href="http://aeoipqehspln.com/">aeoipqehspln</a>, [url=http://fhmshswsrmnt.com/]fhmshswsrmnt[/url], [link=http://gkqjiavekkkp.com/]gkqjiavekkkp[/link], http://baqyjoweglkn.com/

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

Для формирования поля 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);

Категория:Функции Файловой Системы