다음을 통해 공유


필수 및 선택적 인터페이스

다음 표에서는 서비스 공급자가 구현할 필수 및 선택적 인터페이스 및 메서드에 대해 설명합니다. 하나 이상의 필수 메서드가 있는 모든 인터페이스를 구현해야 합니다. 필수 메서드는 WMDM_E_NOTSUPPORTED 또는 E_NOTIMPL 반환할 수 없습니다.

인터페이스 및 메서드 구현 옵션
IMDServiceProvider::EnumDevices 필수.
IMDServiceProvider::GetDeviceCount 필수.
IMDServiceProvider2::CreateDevice 선택 사항입니다. PnP 및 Windows Explorer 지원을 위해 이 메서드를 구현해야 합니다.
IMDSPDevice::EnumStorage 필수.
IMDSPDevice::GetDeviceIcon 필수.
IMDSPDevice::GetFormatSupport 필수.
IMDSPDevice::GetManufacturer 필수.
IMDSPDevice::GetName 필수.
IMDSPDevice::GetPowerSource 선택 사항입니다.
IMDSPDevice::GetSerialNumber 선택 사항입니다. 보호된 콘텐츠 전송을 위해 Windows Media 장치 관리자 IMDSPStorageGlobals::GetSerialNumber를 사용합니다.
IMDSPDevice::GetStatus 필수.
IMDSPDevice::GetType 필수.
IMDSPDevice::GetVersion 선택 사항입니다.
IMDSPDevice::SendOpaqueCommand 선택 사항입니다.
IMDSPDevice2::GetCanonicalName 선택 사항입니다.
IMDSPDevice2::GetFormatSupport2 필수.
IMDSPDevice2::GetSpecifyPropertyPages 선택 사항입니다.
IMDSPDevice2::GetStorage 선택 사항입니다.
IMDSPDeviceControl 인터페이스 선택 사항입니다.
IMDSPEnumDevice::Clone 필수.
IMDSPEnumDevice::Next 필수.
IMDSPEnumDevice::Reset 필수.
IMDSPEnumDevice::Skip 필수.
IMDSPEnumStorage::Clone 필수.
IMDSPEnumStorage::Next 필수.
IMDSPEnumStorage::Reset 필수.
IMDSPEnumStorage::Skip 필수.
IMDSPObject::Close 필수.
IMDSPObject::D 필수.
IMDSPObject::Move 선택 사항입니다.
IMDSPObject::Open 필수.
IMDSPObject::Read 필수(Windows 미디어 플레이어 지원이 필요한 경우)
IMDSPObject::Rename 선택 사항입니다.
IMDSPObject::Seek 선택 사항입니다.
IMDSPObject::Write 필수.
IMDSPObjectInfo 인터페이스 선택 사항입니다.
IMDSPRevoked 인터페이스 선택 사항입니다.
IMDSPStorage::CreateStorage dwAttributes가 WMDM_FILE_ATTR_FILE 경우에만 필수입니다.
IMDSPStorage::EnumStorage 필수.
IMDSPStorage::GetAttributes 필수.
IMDSPStorage::GetDate 필수.
IMDSPStorage::GetName 필수.
IMDSPStorage::GetRights 선택 사항입니다.
IMDSPStorage::GetSize 필수.
IMDSPStorage::GetStorageGlobals 필수.
IMDSPStorage::SendOpaqueCommands 선택 사항입니다.
IMDSPStorage::SetAttributes 선택 사항입니다.
IMDSPStorage2::CreateStorage2 필수.
IMDSPStorage2::GetAttributes2 필수.
IMDSPStorage2::GetStorage 선택 사항입니다.
IMDSPStorage2::SetAttributes2 선택 사항입니다.
IMDSPStorage3 인터페이스 선택 사항입니다. 그러나 디바이스 매개 변수 UseMetadataViews 가 1로 설정된 경우 이 인터페이스를 구현해야 하며 IMDSPStorage3::GetMetadata 는 필수가 되지만 IMDSPStorage3::SetMetadata 는 여전히 선택 사항입니다.
IMDSPStorageGlobals::GetCapabilities 필수.
IMDSPStorageGlobals::GetDevice 필수.
IMDSPStorageGlobals::GetRootStorage 필수.
IMDSPStorageGlobals::GetSerialNumber PDDRM에만 필수입니다. 그렇지 않으면 선택 사항입니다.
IMDSPStorageGlobals::GetStatus 필수.
IMDSPStorageGlobals::GetTotalBad 필수.
IMDSPStorageGlobals::GetTotalFree 필수.
IMDSPStorageGlobals::GetTotalSize 필수.
IMDSPStorageGlobals::Initialize 선택 사항입니다. 디바이스에서 이 기능을 지원하는 경우 이 메서드를 구현해야 합니다. 이 메서드가 구현되지 않은 경우 IMDSPStorageGlobals::GetCapabilites 는 다른 플래그 외에도 WMDM_STORAGECAP_NOT_INITIALIZABLE 반환해야 합니다.
IMDSPDevice3IMDSPObject2
IMDSPStorage4
Windows 미디어 플레이어 자동 동기화를 지원하는 데 필요

서비스 공급자 만들기