Método IMDSPStorage::CreateStorage (mswmdm.h)
El método CreateStorage crea un nuevo almacenamiento y devuelve un puntero a la interfaz IMDSPStorage en el almacenamiento recién creado. Este método es opcional a menos que dwAttributes sea WMDM_FILE_ATTR_FILE. En ese caso, este método debe implementarse y no debe devolver WMDM_E_NOTSUPPORTED ni E_NOTIMPL. Para obtener más información, consulte Interfaces obligatorias y opcionales.
Sintaxis
HRESULT CreateStorage(
[in] DWORD dwAttributes,
[in] _WAVEFORMATEX *pFormat,
[in] LPWSTR pwszName,
[out] IMDSPStorage **ppNewStorage
);
Parámetros
[in] dwAttributes
DWORD que contiene los atributos del nuevo almacenamiento. En la tabla siguiente se enumeran los atributos de almacenamiento disponibles.
Atributo | Descripción |
---|---|
WMDM_STORAGECONTROL_INSERTBEFORE | El nuevo objeto de almacenamiento se creará delante del objeto de destino. |
WMDM_STORAGECONTROL_INSERTAFTER | El nuevo objeto de almacenamiento se creará después del objeto de destino. |
WMDM_STORAGECONTROL_INSERTINTO | El nuevo objeto de almacenamiento se creará en la carpeta del objeto de destino. |
WMDM_STORAGECONTROL_OVERWRITE | Si el almacenamiento con el mismo nombre ya existe, se destruirá y se creará un nuevo almacenamiento. |
WMDM_STORAGE_ATTR_FILESYSTEM | Este objeto es el medio de almacenamiento de nivel superior (por ejemplo, una tarjeta de almacenamiento u otro almacenamiento a bordo). |
WMDM_STORAGE_ATTR_REMOVABLE | Este medio de almacenamiento es extraíble. |
WMDM_STORAGE_ATTR_CANEDITMETADATA | Este almacenamiento puede editar metadatos. |
WMDM_STORAGE_ATTR_FOLDERS | Este medio de almacenamiento admite carpetas y jerarquía de archivos. |
WMDM_FILE_ATTR_FOLDER | Se trata de una carpeta en el medio de almacenamiento. |
WMDM_FILE_ATTR_LINK | Se trata de un vínculo que crea una asociación entre varios archivos. |
WMDM_FILE_ATTR_FILE | Se trata de un archivo en el medio de almacenamiento. |
WMDM_FILE_ATTR_AUDIO | Este archivo es datos de audio. |
WMDM_FILE_ATTR_DATA | Este archivo no es de audio. |
WMDM_FILE_ATTR_CANPLAY | El dispositivo puede reproducir este archivo de audio. |
WMDM_FILE_ATTR_CANDELETE | Este archivo se puede eliminar. |
WMDM_FILE_ATTR_CANMOVE | Este archivo o carpeta se puede mover en el medio de almacenamiento. |
WMDM_FILE_ATTR_CANRENAME | Se puede cambiar el nombre de este archivo o carpeta. |
WMDM_FILE_ATTR_CANREAD | El equipo host puede leer este archivo. |
WMDM_FILE_ATTR_MUSIC | Este archivo de audio es música. |
WMDM_FILE_ATTR_VIDEO | Este archivo contiene datos de vídeo. |
WMDM_FILE_ATTR_HIDDEN | Este archivo está oculto en el sistema de archivos. |
WMDM_FILE_ATTR_SYSTEM | Se trata de un archivo del sistema |
WMDM_FILE_ATTR_READONLY | Se trata de un archivo de solo lectura. |
WMDM_STORAGE_IS_DEFAULT | Este almacenamiento es el almacenamiento predeterminado donde se deben colocar nuevos medios. |
WMDM_STORAGE_CONTAINS_DEFAULT | Este almacenamiento contiene el almacenamiento predeterminado donde se deben colocar nuevos medios. |
[in] pFormat
Puntero a una estructura de _WAVEFORMATEX que contiene información sobre el objeto, si el objeto es un archivo de audio.
[in] pwszName
Puntero a una cadena terminada en null de caracteres anchos que contiene el nombre del nuevo almacenamiento.
[out] ppNewStorage
Puntero a un puntero IMDSPStorage para recibir la interfaz IMDSPStorage para el almacenamiento recién creado.
Valor devuelto
El método devuelve un valor HRESULT. Todos los métodos de interfaz de Windows Media Administrador de dispositivos pueden devolver cualquiera de las siguientes clases de códigos de error:
- Códigos de error COM estándar
- Códigos de error de Windows convertidos en valores HRESULT
- Códigos de error de windows Media Administrador de dispositivos
Comentarios
Si se establecen los atributos WMDM_FILE_ATTR_FOLDER y WMDM_FILE_ATTR_FILE, el atributo folder invalida el atributo de archivo y el nuevo almacenamiento se crea como una carpeta.
Solo el cliente puede especificar uno de WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER y WMDM_STORAGECONTROL_INSERTINTO.
El nuevo almacenamiento se puede crear en el mismo nivel o se puede insertar en el almacenamiento actual siempre que el almacenamiento actual sea una carpeta. Esto se controla mediante el valor del parámetro dwAttributes . Si especifica WMDM_STORAGECONTROL_INSERTBEFORE o WMDM_STORAGECONTROL_INSERTAFTER, el nuevo almacenamiento se creará en el mismo nivel que el almacenamiento actual. Si especifica WMDM_STORAGECONTROL_INSERTINTO, el nuevo almacenamiento se insertará en el almacenamiento actual.
WMDM_STORAGECONTROL_INSERTBEFORE y WMDM_STORAGECONTROL_INSERAFTER implican una ordenación del contenido en el sistema de archivos. Si el sistema de archivos no admite la ordenación (por ejemplo, FAT32), ambas marcas tienen el efecto idéntico de insertar el nuevo almacenamiento en el mismo nivel del almacenamiento actual. Si el almacenamiento actual representa la raíz del medio de almacenamiento y se especifica una de estas dos marcas, se produce un error en la operación.
WMDM_STORAGECONTROL_INSERTINTO solo es válido si el almacenamiento actual es una carpeta. Si el almacenamiento actual es un archivo y se especifica esta marca, se produce un error en la operación.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | mswmdm.h |
Library | Mssachlp.lib |