本文整理汇总了C++中debugstr_guid函数的典型用法代码示例。如果您正苦于以下问题:C++ debugstr_guid函数的具体用法?C++ debugstr_guid怎么用?C++ debugstr_guid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debugstr_guid函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ComponentFactory_CreateDecoder
static HRESULT WINAPI ComponentFactory_CreateDecoder(IWICComponentFactory *iface,
REFGUID guidContainerFormat, const GUID *pguidVendor,
IWICBitmapDecoder **ppIDecoder)
{
IEnumUnknown *enumdecoders;
IUnknown *unkdecoderinfo;
IWICBitmapDecoderInfo *decoderinfo;
IWICBitmapDecoder *decoder = NULL, *preferred_decoder = NULL;
GUID vendor;
HRESULT res;
ULONG num_fetched;
TRACE("(%p,%s,%s,%p)\n", iface, debugstr_guid(guidContainerFormat),
debugstr_guid(pguidVendor), ppIDecoder);
if (!guidContainerFormat || !ppIDecoder) return E_INVALIDARG;
res = CreateComponentEnumerator(WICDecoder, WICComponentEnumerateDefault, &enumdecoders);
if (FAILED(res)) return res;
while (!preferred_decoder)
{
res = IEnumUnknown_Next(enumdecoders, 1, &unkdecoderinfo, &num_fetched);
if (res != S_OK) break;
res = IUnknown_QueryInterface(unkdecoderinfo, &IID_IWICBitmapDecoderInfo, (void **)&decoderinfo);
if (SUCCEEDED(res))
{
GUID container_guid;
res = IWICBitmapDecoderInfo_GetContainerFormat(decoderinfo, &container_guid);
if (SUCCEEDED(res) && IsEqualIID(&container_guid, guidContainerFormat))
{
IWICBitmapDecoder *new_decoder;
res = IWICBitmapDecoderInfo_CreateInstance(decoderinfo, &new_decoder);
if (SUCCEEDED(res))
{
if (pguidVendor)
{
res = IWICBitmapDecoderInfo_GetVendorGUID(decoderinfo, &vendor);
if (SUCCEEDED(res) && IsEqualIID(&vendor, pguidVendor))
{
preferred_decoder = new_decoder;
new_decoder = NULL;
}
}
if (new_decoder && !decoder)
{
decoder = new_decoder;
new_decoder = NULL;
}
if (new_decoder) IWICBitmapDecoder_Release(new_decoder);
}
}
IWICBitmapDecoderInfo_Release(decoderinfo);
}
IUnknown_Release(unkdecoderinfo);
}
IEnumUnknown_Release(enumdecoders);
if (preferred_decoder)
{
*ppIDecoder = preferred_decoder;
if (decoder) IWICBitmapDecoder_Release(decoder);
return S_OK;
}
if (decoder)
{
*ppIDecoder = decoder;
return S_OK;
}
*ppIDecoder = NULL;
return WINCODEC_ERR_COMPONENTNOTFOUND;
}
开发者ID:pombredanne,项目名称:wine,代码行数:82,代码来源:imgfactory.c
示例2: BindProtocol_QueryInterface
static HRESULT WINAPI BindProtocol_QueryInterface(IInternetProtocolEx *iface, REFIID riid, void **ppv)
{
BindProtocol *This = impl_from_IInternetProtocolEx(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->IInternetProtocolEx_iface;
}else if(IsEqualGUID(&IID_IInternetProtocolRoot, riid)) {
TRACE("(%p)->(IID_IInternetProtocolRoot %p)\n", This, ppv);
*ppv = &This->IInternetProtocolEx_iface;
}else if(IsEqualGUID(&IID_IInternetProtocol, riid)) {
TRACE("(%p)->(IID_IInternetProtocol %p)\n", This, ppv);
*ppv = &This->IInternetProtocolEx_iface;
}else if(IsEqualGUID(&IID_IInternetProtocolEx, riid)) {
TRACE("(%p)->(IID_IInternetProtocolEx %p)\n", This, ppv);
*ppv = &This->IInternetProtocolEx_iface;
}else if(IsEqualGUID(&IID_IInternetBindInfo, riid)) {
TRACE("(%p)->(IID_IInternetBindInfo %p)\n", This, ppv);
*ppv = &This->IInternetBindInfo_iface;
}else if(IsEqualGUID(&IID_IInternetPriority, riid)) {
TRACE("(%p)->(IID_IInternetPriority %p)\n", This, ppv);
*ppv = &This->IInternetPriority_iface;
}else if(IsEqualGUID(&IID_IAuthenticate, riid)) {
FIXME("(%p)->(IID_IAuthenticate %p)\n", This, ppv);
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
*ppv = &This->IServiceProvider_iface;
}else if(IsEqualGUID(&IID_IInternetProtocolSink, riid)) {
TRACE("(%p)->(IID_IInternetProtocolSink %p)\n", This, ppv);
*ppv = &This->IInternetProtocolSink_iface;
}else if(IsEqualGUID(&IID_IWinInetInfo, riid)) {
TRACE("(%p)->(IID_IWinInetInfo %p)\n", This, ppv);
if(This->protocol) {
IWinInetInfo *inet_info;
HRESULT hres;
hres = IInternetProtocol_QueryInterface(This->protocol, &IID_IWinInetInfo, (void**)&inet_info);
if(SUCCEEDED(hres)) {
*ppv = &This->IWinInetHttpInfo_iface;
IWinInetInfo_Release(inet_info);
}
}
}else if(IsEqualGUID(&IID_IWinInetHttpInfo, riid)) {
TRACE("(%p)->(IID_IWinInetHttpInfo %p)\n", This, ppv);
if(This->protocol) {
IWinInetHttpInfo *http_info;
HRESULT hres;
hres = IInternetProtocol_QueryInterface(This->protocol, &IID_IWinInetHttpInfo, (void**)&http_info);
if(SUCCEEDED(hres)) {
*ppv = &This->IWinInetHttpInfo_iface;
IWinInetHttpInfo_Release(http_info);
}
}
}else {
WARN("not supported interface %s\n", debugstr_guid(riid));
}
if(!*ppv)
return E_NOINTERFACE;
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
开发者ID:RPG-7,项目名称:reactos,代码行数:67,代码来源:bindprot.c
示例3: IDirectSoundFullDuplexImpl_Initialize
static HRESULT WINAPI IDirectSoundFullDuplexImpl_Initialize(IDirectSoundFullDuplex *iface,
const GUID *capture_dev, const GUID *render_dev, const DSCBUFFERDESC *cbufdesc,
const DSBUFFERDESC *bufdesc, HWND hwnd, DWORD level, IDirectSoundCaptureBuffer8 **dscb8,
IDirectSoundBuffer8 **dsb8)
{
IDirectSoundFullDuplexImpl *This = impl_from_IDirectSoundFullDuplex(iface);
IDirectSound8 *ds8 = NULL;
IDirectSoundCapture8 *dsc8 = NULL;
HRESULT hr;
TRACE("(%p,%s,%s,%p,%p,%p,%x,%p,%p)\n", This, debugstr_guid(capture_dev),
debugstr_guid(render_dev), cbufdesc, bufdesc, hwnd, level, dscb8, dsb8);
if (!dscb8 || !dsb8)
return E_INVALIDARG;
*dscb8 = NULL;
*dsb8 = NULL;
if (This->ds8_unk || This->dsc8_unk) {
WARN("already initialized\n");
return DSERR_ALREADYINITIALIZED;
}
hr = IDirectSoundImpl_Create(&This->IUnknown_iface, &IID_IUnknown, (void**)&This->ds8_unk,
TRUE);
if (SUCCEEDED(hr)) {
IUnknown_QueryInterface(This->ds8_unk, &IID_IDirectSound8, (void**)&ds8);
hr = IDirectSound8_Initialize(ds8, render_dev);
}
if (hr != DS_OK) {
WARN("Creating/initializing IDirectSound8 failed\n");
goto error;
}
IDirectSound8_SetCooperativeLevel(ds8, hwnd, level);
hr = IDirectSound8_CreateSoundBuffer(ds8, bufdesc, (IDirectSoundBuffer**)dsb8, NULL);
if (hr != DS_OK) {
WARN("IDirectSoundBuffer_Create() failed\n");
goto error;
}
hr = IDirectSoundCaptureImpl_Create(&This->IUnknown_iface, &IID_IUnknown,
(void**)&This->dsc8_unk, TRUE);
if (SUCCEEDED(hr)) {
IUnknown_QueryInterface(This->dsc8_unk, &IID_IDirectSoundCapture8, (void**)&dsc8);
hr = IDirectSoundCapture_Initialize(dsc8, capture_dev);
}
if (hr != DS_OK) {
WARN("Creating/initializing IDirectSoundCapture8 failed\n");
goto error;
}
hr = IDirectSoundCapture_CreateCaptureBuffer(dsc8, cbufdesc,
(IDirectSoundCaptureBuffer**)dscb8, NULL);
if (hr != DS_OK) {
WARN("IDirectSoundCapture_CreateCaptureBuffer() failed\n");
goto error;
}
IDirectSound8_Release(ds8);
IDirectSoundCapture_Release(dsc8);
return DS_OK;
error:
if (*dsb8) {
IDirectSoundBuffer8_Release(*dsb8);
*dsb8 = NULL;
}
if (ds8)
IDirectSound8_Release(ds8);
if (This->ds8_unk) {
IUnknown_Release(This->ds8_unk);
This->ds8_unk = NULL;
}
if (*dscb8) {
IDirectSoundCaptureBuffer8_Release(*dscb8);
*dscb8 = NULL;
}
if (dsc8)
IDirectSoundCapture_Release(dsc8);
if (This->dsc8_unk) {
IUnknown_Release(This->dsc8_unk);
This->dsc8_unk = NULL;
}
return hr;
}
开发者ID:Jactry,项目名称:wine,代码行数:88,代码来源:duplex.c
示例4: IAMMultiMediaStreamImpl_AddMediaStream
static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream* iface, IUnknown* stream_object, const MSPID* PurposeId,
DWORD dwFlags, IMediaStream** ppNewStream)
{
IAMMultiMediaStreamImpl *This = impl_from_IAMMultiMediaStream(iface);
HRESULT hr;
IAMMediaStream* pStream;
IAMMediaStream** pNewStreams;
TRACE("(%p/%p)->(%p,%s,%x,%p)\n", This, iface, stream_object, debugstr_guid(PurposeId), dwFlags, ppNewStream);
if (!IsEqualGUID(PurposeId, &MSPID_PrimaryVideo) && !IsEqualGUID(PurposeId, &MSPID_PrimaryAudio))
return MS_E_PURPOSEID;
if (stream_object)
FIXME("Specifying a stream object in params is not yet supported\n");
if (dwFlags & AMMSF_ADDDEFAULTRENDERER)
{
if (IsEqualGUID(PurposeId, &MSPID_PrimaryVideo))
{
/* Default renderer not supported by video stream */
return MS_E_PURPOSEID;
}
else
{
IBaseFilter* dsoundrender_filter;
/* Create the default renderer for audio */
hr = CoCreateInstance(&CLSID_DSoundRender, NULL, CLSCTX_INPROC_SERVER, &IID_IBaseFilter, (LPVOID*)&dsoundrender_filter);
if (SUCCEEDED(hr))
{
hr = IGraphBuilder_AddFilter(This->pFilterGraph, dsoundrender_filter, NULL);
IBaseFilter_Release(dsoundrender_filter);
}
/* No media stream created when the default renderer is used */
return hr;
}
}
if (IsEqualGUID(PurposeId, &MSPID_PrimaryVideo))
hr = ddrawmediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
else
hr = audiomediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
if (SUCCEEDED(hr))
{
pNewStreams = CoTaskMemRealloc(This->pStreams, (This->nbStreams+1) * sizeof(IAMMediaStream*));
if (!pNewStreams)
{
IAMMediaStream_Release(pStream);
return E_OUTOFMEMORY;
}
This->pStreams = pNewStreams;
This->pStreams[This->nbStreams] = pStream;
This->nbStreams++;
if (ppNewStream)
*ppNewStream = (IMediaStream*)pStream;
}
if (SUCCEEDED(hr))
{
/* Add stream to the media stream filter */
IMediaStreamFilter_AddMediaStream(This->media_stream_filter, pStream);
}
return hr;
}
开发者ID:mstefani,项目名称:wine-stable,代码行数:68,代码来源:amstream.c
示例5: test_AviMux
static void test_AviMux(void)
{
test_filter source_filter, sink_filter;
VIDEOINFOHEADER videoinfoheader;
IPin *avimux_in, *avimux_out, *pin;
AM_MEDIA_TYPE source_media_type;
AM_MEDIA_TYPE *media_type;
PIN_DIRECTION dir;
IBaseFilter *avimux;
IEnumPins *ep;
IEnumMediaTypes *emt;
HRESULT hr;
init_test_filter(&source_filter, PINDIR_OUTPUT, SOURCE_FILTER);
init_test_filter(&sink_filter, PINDIR_INPUT, SINK_FILTER);
hr = CoCreateInstance(&CLSID_AviDest, NULL, CLSCTX_INPROC_SERVER, &IID_IBaseFilter, (void**)&avimux);
ok(hr == S_OK || broken(hr == REGDB_E_CLASSNOTREG),
"couldn't create AVI Mux filter, hr = %08x\n", hr);
if(hr != S_OK) {
win_skip("AVI Mux filter is not registered\n");
return;
}
hr = IBaseFilter_EnumPins(avimux, &ep);
ok(hr == S_OK, "EnumPins returned %x\n", hr);
hr = IEnumPins_Next(ep, 1, &avimux_out, NULL);
ok(hr == S_OK, "Next returned %x\n", hr);
hr = IPin_QueryDirection(avimux_out, &dir);
ok(hr == S_OK, "QueryDirection returned %x\n", hr);
ok(dir == PINDIR_OUTPUT, "dir = %d\n", dir);
hr = IEnumPins_Next(ep, 1, &avimux_in, NULL);
ok(hr == S_OK, "Next returned %x\n", hr);
hr = IPin_QueryDirection(avimux_in, &dir);
ok(hr == S_OK, "QueryDirection returned %x\n", hr);
ok(dir == PINDIR_INPUT, "dir = %d\n", dir);
IEnumPins_Release(ep);
hr = IPin_EnumMediaTypes(avimux_out, &emt);
ok(hr == S_OK, "EnumMediaTypes returned %x\n", hr);
hr = IEnumMediaTypes_Next(emt, 1, &media_type, NULL);
ok(hr == S_OK, "Next returned %x\n", hr);
ok(IsEqualIID(&media_type->majortype, &MEDIATYPE_Stream), "majortype = %s\n",
debugstr_guid(&media_type->majortype));
ok(IsEqualIID(&media_type->subtype, &MEDIASUBTYPE_Avi), "subtype = %s\n",
debugstr_guid(&media_type->subtype));
ok(media_type->bFixedSizeSamples, "bFixedSizeSamples = %x\n", media_type->bFixedSizeSamples);
ok(!media_type->bTemporalCompression, "bTemporalCompression = %x\n", media_type->bTemporalCompression);
ok(media_type->lSampleSize == 1, "lSampleSize = %d\n", media_type->lSampleSize);
ok(IsEqualIID(&media_type->formattype, &GUID_NULL), "formattype = %s\n",
debugstr_guid(&media_type->formattype));
ok(!media_type->pUnk, "pUnk = %p\n", media_type->pUnk);
ok(!media_type->cbFormat, "cbFormat = %d\n", media_type->cbFormat);
ok(!media_type->pbFormat, "pbFormat = %p\n", media_type->pbFormat);
CoTaskMemFree(media_type);
hr = IEnumMediaTypes_Next(emt, 1, &media_type, NULL);
ok(hr == S_FALSE, "Next returned %x\n", hr);
IEnumMediaTypes_Release(emt);
hr = IPin_EnumMediaTypes(avimux_in, &emt);
ok(hr == S_OK, "EnumMediaTypes returned %x\n", hr);
hr = IEnumMediaTypes_Reset(emt);
ok(hr == S_OK, "Reset returned %x\n", hr);
hr = IEnumMediaTypes_Next(emt, 1, &media_type, NULL);
ok(hr == S_FALSE, "Next returned %x\n", hr);
IEnumMediaTypes_Release(emt);
hr = IPin_ReceiveConnection(avimux_in, &source_filter.IPin_iface, NULL);
ok(hr == E_POINTER, "ReceiveConnection returned %x\n", hr);
current_calls_list = NULL;
memset(&source_media_type, 0, sizeof(AM_MEDIA_TYPE));
memset(&videoinfoheader, 0, sizeof(VIDEOINFOHEADER));
source_media_type.majortype = MEDIATYPE_Video;
source_media_type.subtype = MEDIASUBTYPE_RGB32;
source_media_type.formattype = FORMAT_VideoInfo;
source_media_type.bFixedSizeSamples = TRUE;
source_media_type.lSampleSize = 40000;
source_media_type.cbFormat = sizeof(VIDEOINFOHEADER);
source_media_type.pbFormat = (BYTE*)&videoinfoheader;
videoinfoheader.AvgTimePerFrame = 333333;
videoinfoheader.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
videoinfoheader.bmiHeader.biWidth = 100;
videoinfoheader.bmiHeader.biHeight = 100;
videoinfoheader.bmiHeader.biPlanes = 1;
videoinfoheader.bmiHeader.biBitCount = 32;
videoinfoheader.bmiHeader.biSizeImage = 40000;
videoinfoheader.bmiHeader.biClrImportant = 256;
hr = IPin_ReceiveConnection(avimux_in, &source_filter.IPin_iface, &source_media_type);
ok(hr == S_OK, "ReceiveConnection returned %x\n", hr);
hr = IPin_ConnectedTo(avimux_in, &pin);
ok(hr == S_OK, "ConnectedTo returned %x\n", hr);
ok(pin == &source_filter.IPin_iface, "incorrect pin: %p, expected %p\n",
pin, &source_filter.IPin_iface);
hr = IPin_Connect(avimux_out, &source_filter.IPin_iface, NULL);
todo_wine ok(hr == VFW_E_INVALID_DIRECTION, "Connect returned %x\n", hr);
//.........这里部分代码省略.........
开发者ID:Dimillian,项目名称:wine,代码行数:101,代码来源:qcap.c
示例6: regtasks_GetIDsOfNames
static HRESULT WINAPI regtasks_GetIDsOfNames(IRegisteredTaskCollection *iface, REFIID riid, LPOLESTR *names,
UINT count, LCID lcid, DISPID *dispid)
{
FIXME("%p,%s,%p,%u,%u,%p: stub\n", iface, debugstr_guid(riid), names, count, lcid, dispid);
return E_NOTIMPL;
}
开发者ID:AlexSteel,项目名称:wine,代码行数:6,代码来源:regtask.c
示例7: TRACE
TRACE("(%p %p %s)\n", pp, p, debugstr_guid(riid));
if (p) IUnknown_QueryInterface(p, riid, (void **)&new_p);
if (*pp) IUnknown_Release(*pp);
*pp = new_p;
return new_p;
}
/***********************************************************************
* AtlInternalQueryInterface [[email protected]]
*/
HRESULT WINAPI AtlInternalQueryInterface(void* this, const _ATL_INTMAP_ENTRY* pEntries, REFIID iid, void** ppvObject)
{
int i = 0;
HRESULT rc = E_NOINTERFACE;
TRACE("(%p, %p, %s, %p)\n",this, pEntries, debugstr_guid(iid), ppvObject);
if (IsEqualGUID(iid,&IID_IUnknown))
{
TRACE("Returning IUnknown\n");
*ppvObject = ((LPSTR)this+pEntries[0].dw);
IUnknown_AddRef((IUnknown*)*ppvObject);
return S_OK;
}
while (pEntries[i].pFunc != 0)
{
TRACE("Trying entry %i (%s %i %p)\n",i,debugstr_guid(pEntries[i].piid),
pEntries[i].dw, pEntries[i].pFunc);
if (!pEntries[i].piid || IsEqualGUID(iid,pEntries[i].piid))
开发者ID:jmalak,项目名称:reactos,代码行数:31,代码来源:atl.c
示例8: UuidEqual
/*************************************************************************
* UuidEqual [[email protected]]
*
* PARAMS
* UUID *Uuid1 [I] Uuid to compare
* UUID *Uuid2 [I] Uuid to compare
* RPC_STATUS *Status [O] returns RPC_S_OK
*
* RETURNS
* TRUE/FALSE
*/
int WINAPI UuidEqual(UUID *Uuid1, UUID *Uuid2, RPC_STATUS *Status)
{
TRACE("(%s,%s)\n", debugstr_guid(Uuid1), debugstr_guid(Uuid2));
return !UuidCompare(Uuid1, Uuid2, Status);
}
开发者ID:Moteesh,项目名称:reactos,代码行数:16,代码来源:rpcrt4_main.c
示例9: UuidIsNil
/*************************************************************************
* UuidIsNil [[email protected]]
*
* PARAMS
* UUID *Uuid [I] Uuid to compare
* RPC_STATUS *Status [O] returns RPC_S_OK
*
* RETURNS
* TRUE/FALSE
*/
int WINAPI UuidIsNil(UUID *Uuid, RPC_STATUS *Status)
{
TRACE("(%s)\n", debugstr_guid(Uuid));
if (!Uuid) return TRUE;
return !UuidCompare(Uuid, &uuid_nil, Status);
}
开发者ID:Moteesh,项目名称:reactos,代码行数:16,代码来源:rpcrt4_main.c
示例10: X
const char *debugstr_mshtml_guid(const GUID *iid)
{
#define X(x) if(IsEqualGUID(iid, &x)) return #x
X(DIID_HTMLDocumentEvents);
X(DIID_HTMLDocumentEvents2);
X(DIID_HTMLTableEvents);
X(DIID_HTMLTextContainerEvents);
X(IID_HTMLPluginContainer);
X(IID_IConnectionPoint);
X(IID_IConnectionPointContainer);
X(IID_ICustomDoc);
X(IID_IDispatch);
X(IID_IDispatchEx);
X(IID_IDispatchJS);
X(IID_UndocumentedScriptIface);
X(IID_IEnumConnections);
X(IID_IEnumVARIANT);
X(IID_IHlinkTarget);
X(IID_IHTMLDocument6);
X(IID_IHTMLDocument7);
X(IID_IHTMLEditServices);
X(IID_IHTMLFramesCollection2);
X(IID_IHTMLPrivateWindow);
X(IID_IHtmlLoadOptions);
X(IID_IInternetHostSecurityManager);
X(IID_IMonikerProp);
X(IID_IObjectIdentity);
X(IID_IObjectSafety);
X(IID_IObjectWithSite);
X(IID_IOleContainer);
X(IID_IOleCommandTarget);
X(IID_IOleControl);
X(IID_IOleDocument);
X(IID_IOleDocumentView);
X(IID_IOleInPlaceActiveObject);
X(IID_IOleInPlaceFrame);
X(IID_IOleInPlaceObject);
X(IID_IOleInPlaceObjectWindowless);
X(IID_IOleInPlaceUIWindow);
X(IID_IOleObject);
X(IID_IOleWindow);
X(IID_IOptionArray);
X(IID_IPersist);
X(IID_IPersistFile);
X(IID_IPersistHistory);
X(IID_IPersistMoniker);
X(IID_IPersistStreamInit);
X(IID_IPropertyNotifySink);
X(IID_IProvideClassInfo);
X(IID_IServiceProvider);
X(IID_ISupportErrorInfo);
X(IID_ITargetContainer);
X(IID_ITravelLogClient);
X(IID_IUnknown);
X(IID_IViewObject);
X(IID_IViewObject2);
X(IID_IViewObjectEx);
X(IID_nsCycleCollectionISupports);
X(IID_nsXPCOMCycleCollectionParticipant);
#define XIID(x) X(IID_##x);
#define XDIID(x) X(DIID_##x);
TID_LIST
#undef XIID
#undef XDIID
#undef X
return debugstr_guid(iid);
}
开发者ID:AmesianX,项目名称:wine,代码行数:68,代码来源:main.c
示例11: DllGetClassObject
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **obj)
{
FIXME("(%s, %s, %p) stub!\n", debugstr_guid(rclsid), debugstr_guid(riid), obj);
return CLASS_E_CLASSNOTAVAILABLE;
}
开发者ID:Jactry,项目名称:wine,代码行数:6,代码来源:main.c
示例12: ComponentFactory_CreateMetadataWriterFromReader
static HRESULT WINAPI ComponentFactory_CreateMetadataWriterFromReader(IWICComponentFactory *iface,
IWICMetadataReader *reader, const GUID *vendor, IWICMetadataWriter **writer)
{
FIXME("%p,%p,%s,%p: stub\n", iface, reader, debugstr_guid(vendor), writer);
return E_NOTIMPL;
}
开发者ID:pombredanne,项目名称:wine,代码行数:6,代码来源:imgfactory.c
示例13: ComponentFactory_CreateMetadataWriter
static HRESULT WINAPI ComponentFactory_CreateMetadataWriter(IWICComponentFactory *iface,
REFGUID format, const GUID *vendor, DWORD options, IWICMetadataWriter **writer)
{
FIXME("%p,%s,%s,%x,%p: stub\n", iface, debugstr_guid(format), debugstr_guid(vendor), options, writer);
return E_NOTIMPL;
}
开发者ID:pombredanne,项目名称:wine,代码行数:6,代码来源:imgfactory.c
示例14: ComponentFactory_CreateEncoder
static HRESULT WINAPI ComponentFactory_CreateEncoder(IWICComponentFactory *iface,
REFGUID guidContainerFormat, const GUID *pguidVendor,
IWICBitmapEncoder **ppIEncoder)
{
static int fixme=0;
IEnumUnknown *enumencoders;
IUnknown *unkencoderinfo;
IWICBitmapEncoderInfo *encoderinfo;
IWICBitmapEncoder *encoder=NULL;
HRESULT res=S_OK;
ULONG num_fetched;
GUID actual_containerformat;
TRACE("(%p,%s,%s,%p)\n", iface, debugstr_guid(guidContainerFormat),
debugstr_guid(pguidVendor), ppIEncoder);
if (pguidVendor && !fixme++)
FIXME("ignoring vendor GUID\n");
res = CreateComponentEnumerator(WICEncoder, WICComponentEnumerateDefault, &enumencoders);
if (FAILED(res)) return res;
while (!encoder)
{
res = IEnumUnknown_Next(enumencoders, 1, &unkencoderinfo, &num_fetched);
if (res == S_OK)
{
res = IUnknown_QueryInterface(unkencoderinfo, &IID_IWICBitmapEncoderInfo, (void**)&encoderinfo);
if (SUCCEEDED(res))
{
res = IWICBitmapEncoderInfo_GetContainerFormat(encoderinfo, &actual_containerformat);
if (SUCCEEDED(res) && IsEqualGUID(guidContainerFormat, &actual_containerformat))
{
res = IWICBitmapEncoderInfo_CreateInstance(encoderinfo, &encoder);
if (FAILED(res))
encoder = NULL;
}
IWICBitmapEncoderInfo_Release(encoderinfo);
}
IUnknown_Release(unkencoderinfo);
}
else
break;
}
IEnumUnknown_Release(enumencoders);
if (encoder)
{
*ppIEncoder = encoder;
return S_OK;
}
else
{
WARN("failed to create encoder\n");
*ppIEncoder = NULL;
return WINCODEC_ERR_COMPONENTNOTFOUND;
}
}
开发者ID:pombredanne,项目名称:wine,代码行数:64,代码来源:imgfactory.c
示例15: UuidCreateSequential
/*************************************************************************
* UuidCreateSequential [[email protected]]
*
* Creates a 128bit UUID.
*
* RETURNS
*
* RPC_S_OK if successful.
* RPC_S_UUID_LOCAL_ONLY if UUID is only locally unique.
*
* FIXME: No compensation for changes across reloading
* this dll or across reboots (e.g. clock going
* backwards and swapped network cards). The RFC
* suggests using NVRAM for storing persistent
* values.
*/
RPC_STATUS WINAPI UuidCreateSequential(UUID *Uuid)
{
static BOOL initialised;
static int count;
ULONGLONG time;
static ULONGLONG timelast;
static WORD sequence;
static DWORD status;
static BYTE address[MAX_ADAPTER_ADDRESS_LENGTH];
EnterCriticalSection(&uuid_cs);
if (!initialised) {
RPC_UuidGetSystemTime(&timelast);
count = TICKS_PER_CLOCK_TICK;
sequence = ((rand() & 0xff) << 8) + (rand() & 0xff);
sequence &= 0x1fff;
status = RPC_UuidGetNodeAddress(address);
initialised = TRUE;
}
/* Generate time element of the UUID. Account for going faster
than our clock as well as the clock going backwards. */
while (1) {
RPC_UuidGetSystemTime(&time);
if (time > timelast) {
count = 0;
break;
}
if (time < timelast) {
sequence = (sequence + 1) & 0x1fff;
count = 0;
break;
}
if (count < TICKS_PER_CLOCK_TICK) {
count++;
break;
}
}
timelast = time;
time += count;
/* Pack the information into the UUID structure. */
Uuid->Data1 = (ULONG)(time & 0xffffffff);
Uuid->Data2 = (unsigned short)((time >> 32) & 0xffff);
Uuid->Data3 = (unsigned short)((time >> 48) & 0x0fff);
/* This is a version 1 UUID */
Uuid->Data3 |= (1 << 12);
Uuid->Data4[0] = sequence & 0xff;
Uuid->Data4[1] = (sequence & 0x3f00) >> 8;
Uuid->Data4[1] |= 0x80;
memcpy(&Uuid->Data4[2], address, ADDRESS_BYTES_NEEDED);
LeaveCriticalSection(&uuid_cs);
TRACE("%s\n", debugstr_guid(Uuid));
return status;
}
开发者ID:Moteesh,项目名称:reactos,代码行数:83,代码来源:rpcrt4_main.c
示例16: RegisterPowerSettingNotification
/**********************************************************************
* RegisterPowerSettingNotification [[email protected]]
*/
HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE recipient, const GUID *guid, DWORD flags)
{
FIXME("(%p,%s,%x): stub\n", recipient, debugstr_guid(guid), flags);
return (HPOWERNOTIFY)0xdeadbeef;
}
开发者ID:AlexSteel,项目名称:wine,代码行数:8,代码来源:misc.c
示例17: alloc_device
static HRESULT alloc_device(REFGUID rguid, IDirectInputImpl *dinput,
JoystickImpl **pdev, unsigned short index)
{
DWORD i;
JoystickImpl* newDevice;
HRESULT hr;
LPDIDATAFORMAT df = NULL;
int idx = 0;
TRACE("%s %p %p %hu\n", debugstr_guid(rguid), dinput, pdev, index);
newDevice = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(JoystickImpl));
if (newDevice == 0) {
WARN("out of memory\n");
*pdev = 0;
return DIERR_OUTOFMEMORY;
}
newDevice->joydev = &joystick_devices[index];
newDevice->joyfd = -1;
newDevice->generic.guidInstance = DInput_Wine_Joystick_GUID;
newDevice->generic.guidInstance.Data3 = index;
newDevice->generic.guidProduct = DInput_Wine_Joystick_GUID;
newDevice->generic.joy_polldev = joy_polldev;
newDevice->generic.name = newDevice->joydev->name;
newDevice->generic.device_axis_count = newDevice->joydev->axis_count;
newDevice->generic.devcaps.dwButtons = newDevice->joydev->button_count;
if (newDevice->generic.devcaps.dwButtons > 128)
{
WARN("Can't support %d buttons. Clamping down to 128\n", newDevice->generic.devcaps.dwButtons);
newDevice->generic.devcaps.dwButtons = 128;
}
newDevice->generic.base.IDirectInputDevice8A_iface.lpVtbl = &JoystickAvt;
newDevice->generic.base.IDirectInputDevice8W_iface.lpVtbl = &JoystickWvt;
newDevice->generic.base.ref = 1;
newDevice->generic.base.dinput = dinput;
newDevice->generic.base.guid = *rguid;
InitializeCriticalSection(&newDevice->generic.base.crit);
newDevice->generic.base.crit.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": JoystickImpl*->generic.base.crit");
/* setup_dinput_options may change these */
newDevice->generic.deadzone = 0;
/* do any user specified configuration */
hr = setup_dinput_options(&newDevice->generic, newDevice->joydev->dev_axes_map);
if (hr != DI_OK)
goto FAILED1;
/* Create copy of default data format */
if (!(df = HeapAlloc(GetProcessHeap(), 0, c_dfDIJoystick2.dwSize))) goto FAILED;
memcpy(df, &c_dfDIJoystick2, c_dfDIJoystick2.dwSize);
df->dwNumObjs = newDevice->generic.devcaps.dwAxes + newDevice->generic.devcaps.dwPOVs + newDevice->generic.devcaps.dwButtons;
if (!(df->rgodf = HeapAlloc(GetProcessHeap(), 0, df->dwNumObjs * df->dwObjSize))) goto FAILED;
for (i = 0; i < newDevice->generic.device_axis_count; i++)
{
int wine_obj = newDevice->generic.axis_map[i];
if (wine_obj < 0) continue;
memcpy(&df->rgodf[idx], &c_dfDIJoystick2.rgodf[wine_obj], df->dwObjSize);
if (wine_obj < 8)
df->rgodf[idx++].dwType = DIDFT_MAKEINSTANCE(wine_obj) | DIDFT_ABSAXIS;
else
{
df->rgodf[idx++].dwType = DIDFT_MAKEINSTANCE(wine_obj - 8) | DIDFT_POV;
i++; /* POV takes 2 axes */
}
}
for (i = 0; i < newDevice->generic.devcaps.dwButtons; i++)
{
memcpy(&df->rgodf[idx], &c_dfDIJoystick2.rgodf[i + 12], df->dwObjSize);
df->rgodf[idx ].pguid = &GUID_Button;
df->rgodf[idx++].dwType = DIDFT_MAKEINSTANCE(i) | DIDFT_PSHBUTTON;
}
newDevice->generic.base.data_format.wine_df = df;
/* initialize default properties */
for (i = 0; i < c_dfDIJoystick2.dwNumObjs; i++) {
newDevice->generic.props[i].lDevMin = -32767;
newDevice->generic.props[i].lDevMax = +32767;
newDevice->generic.props[i].lMin = 0;
newDevice->generic.props[i].lMax = 0xffff;
newDevice->generic.props[i].lDeadZone = newDevice->generic.deadzone; /* % * 1000 */
newDevice->generic.props[i].lSaturation = 0;
}
IDirectInput_AddRef(&newDevice->generic.base.dinput->IDirectInput7A_iface);
EnterCriticalSection(&dinput->crit);
list_add_tail(&dinput->devices_list, &newDevice->generic.base.entry);
LeaveCriticalSection(&dinput->crit);
newDevice->generic.devcaps.dwSize = sizeof(newDevice->generic.devcaps);
newDevice->generic.devcaps.dwFlags = DIDC_ATTACHED;
if (newDevice->generic.base.dinput->dwVersion >= 0x0800)
newDevice->generic.devcaps.dwDevType = DI8DEVTYPE_JOYSTICK | (DI8DEVTYPEJOYSTICK_STANDARD << 8);
//.........这里部分代码省略.........
开发者ID:RareHare,项目名称:reactos,代码行数:101,代码来源:joystick_linux.c
示例18: ApphelpCheckShellObject
BOOL WINAPI ApphelpCheckShellObject( REFCLSID clsid, BOOL shim, ULONGLONG *flags )
{
TRACE("(%s, %d, %p)\n", debugstr_guid(clsid), shim, flags);
if (flags) *flags = 0;
return TRUE;
}
开发者ID:bfg-repo-cleaner-demos,项目名称:wine-original,代码行数:6,代码来源:apphelp.c
示例19: SHGetItemFromDataObject
HRESULT WINAPI SHGetItemFromDataObject(IDataObject *pdtobj,
DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv)
{
FORMATETC fmt;
STGMEDIUM medium;
HRESULT ret;
TRACE("%p, %x, %s, %p\n", pdtobj, dwFlags, debugstr_guid(riid), ppv);
if(!pdtobj)
return E_INVALIDARG;
fmt.cfFormat = RegisterClipboardFormatW(CFSTR_SHELLIDLISTW);
fmt.ptd = NULL;
fmt.dwAspect = DVASPECT_CONTENT;
fmt.lindex = -1;
fmt.tymed = TYMED_HGLOBAL;
ret = IDataObject_GetData(pdtobj, &fmt, &medium);
if(SUCCEEDED(ret))
{
LPIDA pida = GlobalLock(medium.u.hGlobal);
if((pida->cidl > 1 && !(dwFlags & DOGIF_ONLY_IF_ONE)) ||
pida->cidl == 1)
{
LPITEMIDLIST pidl;
/* Get the first pidl (parent + child1) */
pidl = ILCombine((LPCITEMIDLIST) ((LPBYTE)pida+pida->aoffset[0]),
(LPCITEMIDLIST) ((LPBYTE)pida+pida->aoffset[1]));
ret = SHCreateItemFromIDList(pidl, riid, ppv);
ILFree(pidl);
}
else
{
ret = E_FAIL;
}
GlobalUnlock(medium.u.hGlobal);
GlobalFree(medium.u.hGlobal);
}
if(FAILED(ret) && !(dwFlags & DOGIF_NO_HDROP))
{
TRACE("Attempting to fall back on CF_HDROP.\n");
fmt.cfFormat = CF_HDROP;
fmt.ptd = NULL;
fmt.dwAspect = DVASPECT_CONTENT;
fmt.lindex = -1;
fmt.tymed = TYMED_HGLOBAL;
ret = IDataObject_GetData(pdtobj, &fmt, &medium);
if(SUCCEEDED(ret))
{
DROPFILES *df = GlobalLock(medium.u.hGlobal);
LPBYTE files = (LPBYTE)df + df->pFiles;
BOOL multiple_files = FALSE;
ret = E_FAIL;
if(!df->fWide)
{
WCHAR filename[MAX_PATH];
PCSTR first_file = (PCSTR)files;
if(*(files + lstrlenA(first_file) + 1) != 0)
multiple_files = TRUE;
if( !(multiple_files && (dwFlags & DOGIF_ONLY_IF_ONE)) )
{
MultiByteToWideChar(CP_ACP, 0, first_file, -1, filename, MAX_PATH);
ret = SHCreateItemFromParsingName(filename, NULL, riid, ppv);
}
}
else
{
PCWSTR first_file = (PCWSTR)files;
if(*((PCWSTR)files + lstrlenW(first_file) + 1) != 0)
multiple_files = TRUE;
if( !(multiple_files && (dwFlags & DOGIF_ONLY_IF_ONE)) )
ret = SHCreateItemFromParsingName(first_file, NULL, riid, ppv);
}
GlobalUnlock(medium.u.hGlobal);
GlobalFree(medium.u.hGlobal);
}
}
if(FAILED(ret) && !(dwFlags & DOGIF_NO_URL))
{
FIXME("Failed to create item, should try CF_URL.\n");
}
return ret;
}
开发者ID:Dietr1ch,项目名称:wine,代码行数:97,代码来源:shellitem.c
示例20: RegisterDeviceNotificationW
/***********************************************************************
* RegisterDeviceNotificationW ([email protected])
*/
HDEVNOTIFY WINAPI RegisterDeviceNotificationW(
HANDLE hnd, LPVOID notifyfilter, DWORD flags
) {
FIXME_(win32)("(hwnd=%08x, filter=%p, flags=0x%08lx), semi-stub! Returning a fake handle\n",
hnd, notifyfilter, flags);
DEVTYP_UNION dev;
DWORD devType;
/* FIXME: currently we only send the WM_DEVICECHANGE messages to top level windows so report an error if someone is trying to
register a child window for device notifications
FIXME: Since we aren't using the name parameter in the notifyfilter structure, we don't bother doing the string conversion if
this function is called from RegisterDeviceNotificationA() */
if (GetParent(hnd))
ERR_(win32)("This is a child window: right now it can't receive WM_DEVICECHANGE messages!\n");
if (notifyfilter)
{
dev.pVoid = notifyfilter;
switch(dev.pHdr->dbch_devicetype)
{
case DBT_DEVTYP_OEM:
FIXME_(win32)("Unimplemented support for: OEM Device 0x%x -- dbco_size: %d, dbco_identifier: %d, dbco_suppfunc: %d\n", dev.pVoid, dev.pOEM->dbco_size, dev.pOEM->dbco_identifier, dev.pOEM->dbco_suppfunc);
break;
case DBT_DEVTYP_VOLUME:
FIXME_(win32)("Unimplemented support for: Volume 0x%x -- dbcv_size: %d, dbcv_unitmask: %d, dbcv_flags: %d\n", dev.pVoid, dev.pVol->dbcv_size, dev.pVol->dbcv_unitmask, dev.pVol->dbcv_flags);
break;
case DBT_DEVTYP_PORT:
FIXME_(win32)("Unimplemented support for: Port Device 0x%x -- dbcp_size: %d, dbcp_name: %s\n", dev.pVoid, dev.pPort->dbcp_size, dev.pPort->dbcp_name);
break;
case DBT_DEVTYP_DEVICEINTERFACE:
FIXME_(win32)("Class of devices 0x%x -- dbcc_size: %d, dbcc_guid: %s, dbcc_name: %s\n", dev.pVoid, dev.pDevInt->dbcc_size, debugstr_guid(&(dev.pDevInt->dbcc_classguid)), dev.pDevInt->dbcc_name);
/*if (flags == DEVICE_NOTIFY_WINDOW_HANDLE)
USER_Driver.pRegisterDeviceNotification(hnd, notifyfilter);*/
break;
case DBT_DEVTYP_HANDLE:
FIXME_(win32)("Unimplemented support for: File Handle 0x%x -- dbch_size: %d, dbch_handle: %d, dbch_hdevnotify: %d, dbch_eventguid: %s\n", dev.pVoid, dev.pHnd->dbch_size, dev.pHnd->dbch_handle, dev.pHnd->dbch_hdevnotify, debugstr_guid(&(dev.pHnd->dbch_eventguid)));
break;
default:
FIXME_(win32)("Unknown device type\n");
break;
}
}
/* used for debug output */
switch (flags)
{
case DEVICE_NOTIFY_WINDOW_HANDLE:
TRACE_(win32)("Recipient is a window handle\n");
|
请发表评论