2016-05-04 19 views
0

Ich arbeite an einem MP4-Filter in DirectShow. Ich versuche gerade, ein IBaseFilter-Objekt zu erstellen, aber eine der Anforderungen ist CLSID für CoCreateInstance.GUID und CLSID in verschiedenen Formaten?

Ich bin verwirrt, wo diese ID herkommt. Kann ich es aus dem GraphEdit> Filter einfügen? Wenn ja, gibt es mir im Format {00000000-0000-0000-0000-000000000000} Doch die meisten Beispiele, die ich habe, sind im Format von

gesehen
static const GUID CLSID_MPEG4Demux = { 0x025BE2E4, 0x1787, 0x4DA4, 0xA5, 0x85, 0xC5, 0xB2, 0xB9, 0xEE, 0xB5, 0x7C }; 

Benötige ich einen Konverter für das?

Antwort

4

CLSID ist eine grundlegende COM-Kennung für die registrierte Klasse. DirectShow-Filter, die für die Öffentlichkeit registriert sind, haben alle ihre CLSIDs, die von ihren Entwicklern fest codiert sind. Wenn Ihre Arbeit am MP4-Filter voraussetzt, dass Sie ein Entwickler des MP4-Filters sind, dann müssen Sie Ihre eigene CLSID eingeben (generieren von "Create GUID" (guidgen.exe) Werkzeug, von API etc). Wenn Sie CLSID bestehender registriert Filter nachschlagen möchten, können Sie es herausfinden, mit GraphEdit, oder besser gesagt GraphStudioNext Browsing registriert Filterliste:

enter image description here