Udostępnij za pośrednictwem


Obowiązkowe i opcjonalne interfejsy

W poniższej tabeli opisano obowiązkowe i opcjonalne interfejsy i metody implementowania dostawców usług. Należy zaimplementować wszystkie interfejsy z co najmniej jedną obowiązkową metodą. Metoda obowiązkowa nie może zwrócić WMDM_E_NOTSUPPORTED ani E_NOTIMPL.

Interfejs i metoda Opcja implementacji
IMDServiceProvider::EnumDevices Obowiązkowy.
IMDServiceProvider::GetDeviceCount Obowiązkowy.
IMDServiceProvider2::CreateDevice Fakultatywny. Tę metodę należy zaimplementować na potrzeby obsługi pnp i Eksploratora Windows.
IMDSPDevice::EnumStorage Obowiązkowy.
IMDSPDevice::GetDeviceIcon Obowiązkowy.
IMDSPDevice::GetFormatSupport Obowiązkowy.
IMDSPDevice::GetManufacturer Obowiązkowy.
IMDSPDevice::GetName Obowiązkowy.
IMDSPDevice::GetPowerSource Fakultatywny.
IMDSPDevice::GetSerialNumber Fakultatywny. W przypadku transferu zawartości chronionej menedżer urządzeń multimedialnych systemu Windows używa IMDSPStorageGlobals::GetSerialNumber.
IMDSPDevice::GetStatus Obowiązkowy.
IMDSPDevice::GetType Obowiązkowy.
IMDSPDevice::GetVersion Fakultatywny.
IMDSPDevice::SendOpaqueCommand Fakultatywny.
IMDSPDevice2::GetCanonicalName Fakultatywny.
IMDSPDevice2::GetFormatSupport2 Obowiązkowy.
IMDSPDevice2::GetSpecifyPropertyPages Fakultatywny.
IMDSPDevice2::GetStorage Fakultatywny.
IMDSPDeviceControl, interfejs Fakultatywny.
IMDSPEnumDevice::Clone Obowiązkowy.
IMDSPEnumDevice::Next Obowiązkowy.
IMDSPEnumDevice::Reset Obowiązkowy.
IMDSPEnumDevice::Skip Obowiązkowy.
IMDSPEnumStorage::Clone Obowiązkowy.
IMDSPEnumStorage::Next Obowiązkowy.
IMDSPEnumStorage::Resetuj Obowiązkowy.
IMDSPEnumStorage::Pomiń Obowiązkowy.
IMDSPObject::Close Obowiązkowy.
IMDSPObject::D elete Obowiązkowy.
IMDSPObject::Move Fakultatywny.
IMDSPObject::Otwórz Obowiązkowy.
IMDSPObject::Read Obowiązkowe (jeśli wymagana jest obsługa programu Windows Media Player).
IMDSPObject::Zmień nazwę Fakultatywny.
IMDSPObject::Seek Fakultatywny.
IMDSPObject::Write Obowiązkowy.
interfejsu IMDSPObjectInfo Fakultatywny.
interfejsu IMDSPRevoked Fakultatywny.
IMDSPStorage::CreateStorage Obowiązkowe tylko wtedy, gdy dwAttributes jest WMDM_FILE_ATTR_FILE.
IMDSPStorage::EnumStorage Obowiązkowy.
IMDSPStorage::GetAttributes Obowiązkowy.
IMDSPStorage::GetDate Obowiązkowy.
IMDSPStorage::GetName Obowiązkowy.
IMDSPStorage::GetRights Fakultatywny.
IMDSPStorage::GetSize Obowiązkowy.
IMDSPStorage::GetStorageGlobals Obowiązkowy.
IMDSPStorage::SendOpaqueCommands Fakultatywny.
IMDSPStorage::SetAttributes Fakultatywny.
IMDSPStorage2::CreateStorage2 Obowiązkowy.
IMDSPStorage2::GetAttributes2 Obowiązkowy.
IMDSPStorage2::GetStorage Fakultatywny.
IMDSPStorage2::SetAttributes2 Fakultatywny.
interfejsu IMDSPStorage3 Fakultatywny. Jeśli jednak parametr urządzenia UseMetadataViews jest ustawiony na 1, ten interfejs musi zostać zaimplementowany, a IMDSPStorage3::GetMetadata staje się obowiązkowy, chociaż IMDSPStorage3::SetMetadata jest nadal opcjonalny.
IMDSPStorageGlobals::GetCapabilities Obowiązkowy.
IMDSPStorageGlobals::GetDevice Obowiązkowy.
IMDSPStorageGlobals::GetRootStorage Obowiązkowy.
IMDSPStorageGlobals::GetSerialNumber Obowiązkowe tylko dla pdDRM. Opcjonalnie.
IMDSPStorageGlobals::GetStatus Obowiązkowy.
IMDSPStorageGlobals::GetTotalBad Obowiązkowy.
IMDSPStorageGlobals::GetTotalFree Obowiązkowy.
IMDSPStorageGlobals::GetTotalSize Obowiązkowy.
IMDSPStorageGlobals::Initialize Fakultatywny. Ta metoda powinna zostać zaimplementowana, jeśli urządzenie obsługuje tę funkcję. Jeśli ta metoda nie jest zaimplementowana, IMDSPStorageGlobals::GetCapabilites musi zwrócić WMDM_STORAGECAP_NOT_INITIALIZABLE oprócz innych flag.
IMDSPDevice3IMDSPObject2
IMDSPStorage4
Wymagana do obsługi automatycznej synchronizacji z programem Windows Media Player

tworzenie dostawcy usług