Compartir a través de


Método IShellFolderView::Rearrange (shlobj_core.h)

[Reorganizar está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use GetSortColumns.]

Reorganiza los elementos de una vista según una regla de ordenación.

Sintaxis

HRESULT Rearrange(
  [in] LPARAM lParamSort
);

Parámetros

[in] lParamSort

Tipo: LPARAM

Especifica cómo se debe realizar el reorganizamiento.

Los dieciséis bits inferiores de lParamSort definen la regla de ordenación. La mayoría de las aplicaciones establecen la regla de ordenación en el valor predeterminado de cero, lo que indica que los elementos deben ordenarse por nombre. El sistema no define ninguna otra regla de ordenación. Algunos objetos de carpeta pueden permitir que las aplicaciones que llaman usen los dieciséis bits inferiores de lParamSort para especificar reglas de ordenación específicas de carpetas. Las reglas y sus valores lParamSort asociados se definen mediante la carpeta .

Cuando el objeto de vista de carpetas del sistema llama a IShellFolderView::Rearrange, se usan los dieciséis bits inferiores de lParamSort para especificar la columna que se usará para la organización.

Los dieciséis bits superiores de lParamSort se usan para las marcas que modifican la regla de ordenación. El sistema define actualmente las marcas modificadores siguientes.

SHCIDS_ALLFIELDS

Versión 5.0. Organice toda la información contenida en la estructura ITEMIDLIST , no solo los nombres para mostrar. Esta marca solo es válida para los objetos de carpeta que admiten la interfaz IShellFolder2 . Por ejemplo, si los dos elementos son archivos, la carpeta debe organizar sus nombres, tamaños, tiempos de archivo, atributos y cualquier otra información de las estructuras. Si se establece esta marca, los dieciséis bits inferiores de lParamSort deben ser cero.

SHCIDS_CANONICALONLY

Versión 5.0. Al organizar por nombre, organice los nombres del sistema, pero no los nombres para mostrar. Cuando se pasa esta marca, los dos elementos se organizan mediante cualquier criterio que determine la carpeta shell más eficaz, siempre y cuando implemente una función de ordenación coherente. Esta marca no se puede combinar con otras marcas.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Nota para llamar a aplicaciones

No establezca la marca de SHCIDS_ALLFIELDS en lParamSort si el objeto de carpeta no admite IShellFolder2. Si lo hace, podría tener resultados imprevisibles. Si usa la marca SHCIDS_ALLFIELDS , los dieciséis bits inferiores de lParamSort deben establecerse en cero.

Nota para los implementadores

Para extraer la regla de ordenación, use un operador AND bit a bit (&) para combinar lParamSort con SHCIDS_COLUMNMASK (0X0000FFFF). Esta operación enmascara los dieciséis bits superiores de lParamSort, incluido el valor de SHCIDS_ALLFIELDS .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlobj_core.h