IMDSPStorage::CreateStorage 메서드(mswmdm.h)
CreateStorage 메서드는 새 스토리지를 만들고 새로 만든 스토리지의 IMDSPStorage 인터페이스에 대한 포인터를 반환합니다. dwAttributes가 WMDM_FILE_ATTR_FILE 않는 한 이 메서드는 선택 사항입니다. 이 경우 이 메서드를 구현해야 하며 WMDM_E_NOTSUPPORTED 또는 E_NOTIMPL 반환해서는 안 됩니다. 자세한 내용은 필수 및 선택적 인터페이스를 참조하세요.
구문
HRESULT CreateStorage(
[in] DWORD dwAttributes,
[in] _WAVEFORMATEX *pFormat,
[in] LPWSTR pwszName,
[out] IMDSPStorage **ppNewStorage
);
매개 변수
[in] dwAttributes
새 스토리지의 특성을 포함하는 DWORD입니다. 다음 표에서는 사용 가능한 스토리지 특성을 나열합니다.
attribute | Description |
---|---|
WMDM_STORAGECONTROL_INSERTBEFORE | 새 스토리지 개체가 대상 개체 앞에 만들어집니다. |
WMDM_STORAGECONTROL_INSERTAFTER | 대상 개체 다음에 새 스토리지 개체가 만들어집니다. |
WMDM_STORAGECONTROL_INSERTINTO | 새 스토리지 개체가 대상 개체 폴더에 만들어집니다. |
WMDM_STORAGECONTROL_OVERWRITE | 동일한 이름의 스토리지가 이미 있는 경우 삭제되고 새 스토리지가 만들어집니다. |
WMDM_STORAGE_ATTR_FILESYSTEM | 이 개체는 최상위 스토리지 매체(예: 스토리지 카드 또는 기타 온보드 스토리지)입니다. |
WMDM_STORAGE_ATTR_REMOVABLE | 이 스토리지 매체는 이동식입니다. |
WMDM_STORAGE_ATTR_CANEDITMETADATA | 이 스토리지는 메타데이터를 편집할 수 있습니다. |
WMDM_STORAGE_ATTR_FOLDERS | 이 스토리지 매체는 폴더 및 파일 계층 구조를 지원합니다. |
WMDM_FILE_ATTR_FOLDER | 스토리지 매체의 폴더입니다. |
WMDM_FILE_ATTR_LINK | 여러 파일 간의 연결을 만드는 링크입니다. |
WMDM_FILE_ATTR_FILE | 스토리지 매체의 파일입니다. |
WMDM_FILE_ATTR_AUDIO | 이 파일은 오디오 데이터입니다. |
WMDM_FILE_ATTR_DATA | 이 파일은 오디오가 아닌 데이터입니다. |
WMDM_FILE_ATTR_CANPLAY | 이 오디오 파일은 디바이스에서 재생할 수 있습니다. |
WMDM_FILE_ATTR_CANDELETE | 이 파일을 삭제할 수 있습니다. |
WMDM_FILE_ATTR_CANMOVE | 이 파일 또는 폴더는 스토리지 매체에서 이동할 수 있습니다. |
WMDM_FILE_ATTR_CANRENAME | 이 파일 또는 폴더의 이름을 바꿀 수 있습니다. |
WMDM_FILE_ATTR_CANREAD | 이 파일은 호스트 컴퓨터에서 읽을 수 있습니다. |
WMDM_FILE_ATTR_MUSIC | 이 오디오 파일은 음악입니다. |
WMDM_FILE_ATTR_VIDEO | 이 파일에는 비디오 데이터가 포함되어 있습니다. |
WMDM_FILE_ATTR_HIDDEN | 이 파일은 파일 시스템에 숨겨져 있습니다. |
WMDM_FILE_ATTR_SYSTEM | 시스템 파일입니다. |
WMDM_FILE_ATTR_READONLY | 읽기 전용 파일입니다. |
WMDM_STORAGE_IS_DEFAULT | 이 스토리지는 새 미디어를 배치해야 하는 기본 스토리지입니다. |
WMDM_STORAGE_CONTAINS_DEFAULT | 이 스토리지에는 새 미디어를 배치해야 하는 기본 스토리지가 포함되어 있습니다. |
[in] pFormat
개체가 오디오 파일인 경우 개체에 대한 정보를 포함하는 _WAVEFORMATEX 구조체에 대한 포인터입니다.
[in] pwszName
새 스토리지의 이름을 포함하는 와이드 문자 null로 끝나는 문자열에 대한 포인터입니다.
[out] ppNewStorage
새로 만든 스토리지에 대한 IMDSPStorage 인터페이스를 수신하기 위한 IMDSPStorage 포인터에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. Windows Media 장치 관리자 모든 인터페이스 메서드는 다음 오류 코드 클래스 중 어느 것을 반환할 수 있습니다.
- 표준 COM 오류 코드
- HRESULT 값으로 변환된 Windows 오류 코드
- Windows Media 장치 관리자 오류 코드
설명
WMDM_FILE_ATTR_FOLDER 및 WMDM_FILE_ATTR_FILE 특성이 모두 설정되면 폴더 특성이 파일 특성을 재정의하고 새 스토리지가 폴더로 만들어집니다.
WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER 및 WMDM_STORAGECONTROL_INSERTINTO 중 하나만 클라이언트에서 지정할 수 있습니다.
새 스토리지는 동일한 수준에서 만들거나 현재 스토리지가 폴더인 경우 현재 스토리지에 삽입할 수 있습니다. dwAttributes 매개 변수 값에 의해 제어됩니다. WMDM_STORAGECONTROL_INSERTBEFORE 또는 WMDM_STORAGECONTROL_INSERTAFTER 지정하는 경우 새 스토리지는 현재 스토리지와 동일한 수준에서 만들어집니다. WMDM_STORAGECONTROL_INSERTINTO 지정하면 새 스토리지가 현재 스토리지에 삽입됩니다.
WMDM_STORAGECONTROL_INSERTBEFORE 및 WMDM_STORAGECONTROL_INSERAFTER 파일 시스템의 콘텐츠 순서를 의미합니다. 파일 시스템에서 정렬(예: FAT32)을 지원하지 않는 경우 두 플래그는 현재 스토리지의 동일한 수준에서 새 스토리지를 삽입하는 것과 동일한 효과를 줍니다. 현재 스토리지가 스토리지 매체의 루트를 나타내고 이러한 두 플래그 중 하나가 지정되면 작업이 실패합니다.
WMDM_STORAGECONTROL_INSERTINTO 현재 스토리지가 폴더인 경우에만 유효합니다. 현재 스토리지가 파일이고 이 플래그를 지정하면 작업이 실패합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | mswmdm.h |
라이브러리 | Mssachlp.lib |