本文整理汇总了C++中debugstr_wn函数的典型用法代码示例。如果您正苦于以下问题:C++ debugstr_wn函数的具体用法?C++ debugstr_wn怎么用?C++ debugstr_wn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debugstr_wn函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: debugstr_cf
/**************************************************************************
* debugstr_cf
*/
const char* debugstr_cf(CFTypeRef t)
{
CFStringRef s;
const char* ret;
if (!t) return "(null)";
if (CFGetTypeID(t) == CFStringGetTypeID())
s = t;
else
s = CFCopyDescription(t);
ret = CFStringGetCStringPtr(s, kCFStringEncodingUTF8);
if (ret) ret = debugstr_a(ret);
if (!ret)
{
const UniChar* u = CFStringGetCharactersPtr(s);
if (u)
ret = debugstr_wn((const WCHAR*)u, CFStringGetLength(s));
}
if (!ret)
{
UniChar buf[200];
int len = min(CFStringGetLength(s), sizeof(buf)/sizeof(buf[0]));
CFStringGetCharacters(s, CFRangeMake(0, len), buf);
ret = debugstr_wn(buf, len);
}
if (s != t) CFRelease(s);
return ret;
}
开发者ID:karolherbst,项目名称:wine,代码行数:32,代码来源:macdrv_main.c
示例2: mxwriter_saxcontent_processingInstruction
static HRESULT WINAPI mxwriter_saxcontent_processingInstruction(
ISAXContentHandler *iface,
const WCHAR *target,
int ntarget,
const WCHAR *data,
int ndata)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
FIXME("(%p)->(%s %s)\n", This, debugstr_wn(target, ntarget), debugstr_wn(data, ndata));
return E_NOTIMPL;
}
开发者ID:bpon,项目名称:wine,代码行数:11,代码来源:mxwriter.c
示例3: mxwriter_saxcontent_startPrefixMapping
static HRESULT WINAPI mxwriter_saxcontent_startPrefixMapping(
ISAXContentHandler *iface,
const WCHAR *prefix,
int nprefix,
const WCHAR *uri,
int nuri)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
FIXME("(%p)->(%s %s)\n", This, debugstr_wn(prefix, nprefix), debugstr_wn(uri, nuri));
return E_NOTIMPL;
}
开发者ID:bpon,项目名称:wine,代码行数:11,代码来源:mxwriter.c
示例4: PSDRV_GetTextExtentExPoint
/***********************************************************************
* PSDRV_GetTextExtentExPoint
*/
BOOL PSDRV_GetTextExtentExPoint(PSDRV_PDEVICE *physDev, LPCWSTR str, INT count,
INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size)
{
int nfit = 0;
int i;
float width = 0.0;
float scale;
assert(physDev->font.fontloc == Builtin);
TRACE("%s %i\n", debugstr_wn(str, count), count);
scale = physDev->font.fontinfo.Builtin.scale;
for (i = 0; i < count && str[i] != '\0'; ++i)
{
float scaled_width;
width += PSDRV_UVMetrics(str[i], physDev->font.fontinfo.Builtin.afm)->WX;
scaled_width = width * scale;
if (alpDx)
alpDx[i] = scaled_width;
if (scaled_width <= maxExt)
++nfit;
}
size->cx = width * physDev->font.fontinfo.Builtin.scale;
size->cy = physDev->font.fontinfo.Builtin.tm.tmHeight;
if (lpnFit)
*lpnFit = nfit;
TRACE("cx=%li cy=%li\n", size->cx, size->cy);
return TRUE;
}
开发者ID:howard5888,项目名称:wineT,代码行数:37,代码来源:builtin.c
示例5: SysAllocStringLen
/******************************************************************************
* SysAllocStringLen [OLEAUT32.4]
*
* Create a BSTR from an OLESTR of a given wide character length.
*
* PARAMS
* str [I] Source to create BSTR from
* len [I] Length of oleStr in wide characters
*
* RETURNS
* Success: A newly allocated BSTR from SysAllocStringByteLen()
* Failure: NULL, if len is >= 0x80000000, or memory allocation fails.
*
* NOTES
* See BSTR(), SysAllocStringByteLen().
*/
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
{
bstr_t *bstr;
DWORD size;
/* Detect integer overflow. */
if (len >= ((UINT_MAX-sizeof(WCHAR)-sizeof(DWORD))/sizeof(WCHAR)))
return NULL;
TRACE("%s\n", debugstr_wn(str, len));
size = len*sizeof(WCHAR);
bstr = alloc_bstr(size);
if(!bstr)
return NULL;
if(str) {
memcpy(bstr->u.str, str, size);
bstr->u.str[len] = 0;
}else {
memset(bstr->u.str, 0, size+sizeof(WCHAR));
}
return bstr->u.str;
}
开发者ID:lucianolorenti,项目名称:wine,代码行数:41,代码来源:oleaut.c
示例6: cc_token
static int cc_token(parser_ctx_t *ctx, void *lval)
{
unsigned id_len = 0;
cc_var_t *var;
static const WCHAR cc_onW[] = {'c','c','_','o','n',0};
static const WCHAR setW[] = {'s','e','t',0};
static const WCHAR elifW[] = {'e','l','i','f',0};
static const WCHAR endW[] = {'e','n','d',0};
ctx->ptr++;
if(!check_keyword(ctx, cc_onW, NULL))
return init_cc(ctx);
if(!check_keyword(ctx, setW, NULL)) {
FIXME("@set not implemented\n");
return lex_error(ctx, E_NOTIMPL);
}
if(!check_keyword(ctx, ifW, NULL)) {
FIXME("@if not implemented\n");
return lex_error(ctx, E_NOTIMPL);
}
if(!check_keyword(ctx, elifW, NULL)) {
FIXME("@elif not implemented\n");
return lex_error(ctx, E_NOTIMPL);
}
if(!check_keyword(ctx, elseW, NULL)) {
FIXME("@else not implemented\n");
return lex_error(ctx, E_NOTIMPL);
}
if(!check_keyword(ctx, endW, NULL)) {
FIXME("@end not implemented\n");
return lex_error(ctx, E_NOTIMPL);
}
if(!ctx->script->cc)
return lex_error(ctx, JS_E_DISABLED_CC);
while(ctx->ptr+id_len < ctx->end && is_identifier_char(ctx->ptr[id_len]))
id_len++;
if(!id_len)
return '@';
TRACE("var %s\n", debugstr_wn(ctx->ptr, id_len));
var = find_cc_var(ctx->script->cc, ctx->ptr, id_len);
ctx->ptr += id_len;
if(!var || var->is_num) {
*(literal_t**)lval = new_double_literal(ctx, var ? var->u.n : ret_nan());
return tNumericLiteral;
}
*(literal_t**)lval = new_boolean_literal(ctx, var->u.b);
return tBooleanLiteral;
}
开发者ID:mikekap,项目名称:wine,代码行数:60,代码来源:lex.c
示例7: ME_WordBreakProc
static int
ME_WordBreakProc(LPWSTR s, INT start, INT len, INT code)
{
/* FIXME: Native also knows about punctuation */
TRACE("s==%s, start==%d, len==%d, code==%d\n",
debugstr_wn(s, len), start, len, code);
switch (code)
{
case WB_ISDELIMITER:
return ME_IsWSpace(s[start]);
case WB_LEFT:
case WB_MOVEWORDLEFT:
while (start && ME_IsWSpace(s[start - 1]))
start--;
while (start && !ME_IsWSpace(s[start - 1]))
start--;
return start;
case WB_RIGHT:
case WB_MOVEWORDRIGHT:
if (start && ME_IsWSpace(s[start - 1]))
{
while (start < len && ME_IsWSpace(s[start]))
start++;
}
else
{
while (start < len && !ME_IsWSpace(s[start]))
start++;
while (start < len && ME_IsWSpace(s[start]))
start++;
}
return start;
}
return 0;
}
开发者ID:WASSUM,项目名称:longene_travel,代码行数:35,代码来源:string.c
示例8: dwritefactory_CreateGdiCompatibleTextLayout
static HRESULT WINAPI dwritefactory_CreateGdiCompatibleTextLayout(IDWriteFactory *iface, WCHAR const* string,
UINT32 len, IDWriteTextFormat *format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip,
DWRITE_MATRIX const* transform, BOOL use_gdi_natural, IDWriteTextLayout **layout)
{
FIXME("(%s:%u %p %f %f %f %p %d %p): stub\n", debugstr_wn(string, len), len, format, layout_width, layout_height,
pixels_per_dip, transform, use_gdi_natural, layout);
return E_NOTIMPL;
}
开发者ID:fabriceleal,项目名称:wine,代码行数:8,代码来源:main.c
示例9: mxwriter_saxcontent_skippedEntity
static HRESULT WINAPI mxwriter_saxcontent_skippedEntity(
ISAXContentHandler *iface,
const WCHAR *name,
int nname)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
FIXME("(%p)->(%s)\n", This, debugstr_wn(name, nname));
return E_NOTIMPL;
}
开发者ID:bpon,项目名称:wine,代码行数:9,代码来源:mxwriter.c
示例10: mxwriter_saxcontent_ignorableWhitespace
static HRESULT WINAPI mxwriter_saxcontent_ignorableWhitespace(
ISAXContentHandler *iface,
const WCHAR *chars,
int nchars)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
FIXME("(%p)->(%s)\n", This, debugstr_wn(chars, nchars));
return E_NOTIMPL;
}
开发者ID:bpon,项目名称:wine,代码行数:9,代码来源:mxwriter.c
示例11: CRYPT_ValueToRDN
static BOOL CRYPT_ValueToRDN(DWORD dwCertEncodingType, PCERT_NAME_INFO info,
PCCRYPT_OID_INFO keyOID, struct X500TokenW *value, LPCWSTR *ppszError)
{
BOOL ret = FALSE;
TRACE("OID %s, value %s\n", debugstr_a(keyOID->pszOID),
debugstr_wn(value->start, value->end - value->start));
if (!info->rgRDN)
info->rgRDN = CryptMemAlloc(sizeof(CERT_RDN));
else
info->rgRDN = CryptMemRealloc(info->rgRDN,
(info->cRDN + 1) * sizeof(CERT_RDN));
if (info->rgRDN)
{
/* FIXME: support multiple RDN attrs */
info->rgRDN[info->cRDN].rgRDNAttr =
CryptMemAlloc(sizeof(CERT_RDN_ATTR));
if (info->rgRDN[info->cRDN].rgRDNAttr)
{
static const DWORD defaultTypes[] = { CERT_RDN_PRINTABLE_STRING,
CERT_RDN_BMP_STRING, 0 };
const DWORD *types;
info->rgRDN[info->cRDN].cRDNAttr = 1;
info->rgRDN[info->cRDN].rgRDNAttr[0].pszObjId =
(LPSTR)keyOID->pszOID;
info->rgRDN[info->cRDN].rgRDNAttr[0].dwValueType =
CERT_RDN_ENCODED_BLOB;
if (keyOID->ExtraInfo.cbData)
types = (const DWORD *)keyOID->ExtraInfo.pbData;
else
types = defaultTypes;
/* Remove surrounding quotes */
if (value->start[0] == '"')
{
value->start++;
value->end--;
}
ret = CRYPT_EncodeValue(dwCertEncodingType, value,
&info->rgRDN[info->cRDN].rgRDNAttr[0].Value, types, ppszError);
}
else
SetLastError(ERROR_OUTOFMEMORY);
info->cRDN++;
}
else
SetLastError(ERROR_OUTOFMEMORY);
return ret;
}
开发者ID:WASSUM,项目名称:longene_travel,代码行数:51,代码来源:str.c
示例12: X11DRV_GetTextExtentExPoint
/***********************************************************************
* X11DRV_GetTextExtentExPoint
*/
BOOL X11DRV_GetTextExtentExPoint( PHYSDEV dev, LPCWSTR str, INT count,
INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size )
{
X11DRV_PDEVICE *physDev = get_x11drv_dev( dev );
fontObject* pfo = XFONT_GetFontObject( physDev->font );
TRACE("%s %d\n", debugstr_wn(str,count), count);
if( pfo ) {
XChar2b *p = X11DRV_cptable[pfo->fi->cptable].punicode_to_char2b( pfo, str, count );
if (!p) return FALSE;
if( !pfo->lpX11Trans ) {
int dir, ascent, descent;
int info_width;
X11DRV_cptable[pfo->fi->cptable].pTextExtents( pfo, p,
count, &dir, &ascent, &descent, &info_width,
maxExt, lpnFit, alpDx );
size->cx = info_width;
size->cy = pfo->fs->ascent + pfo->fs->descent;
} else {
INT i;
INT nfit = 0;
float x = 0.0, y = 0.0;
float scaled_x = 0.0, pixsize = pfo->lpX11Trans->pixelsize;
/* FIXME: Deal with *_char_or_byte2 != 0 situations */
for(i = 0; i < count; i++) {
x += pfo->fs->per_char ?
pfo->fs->per_char[p[i].byte2 - pfo->fs->min_char_or_byte2].attributes :
pfo->fs->min_bounds.attributes;
scaled_x = x * pixsize / 1000.0;
if (alpDx)
alpDx[i] = scaled_x;
if (scaled_x <= maxExt)
++nfit;
}
y = pfo->lpX11Trans->RAW_ASCENT + pfo->lpX11Trans->RAW_DESCENT;
TRACE("x = %f y = %f\n", x, y);
size->cx = x * pfo->lpX11Trans->pixelsize / 1000.0;
size->cy = y * pfo->lpX11Trans->pixelsize / 1000.0;
if (lpnFit)
*lpnFit = nfit;
}
size->cx *= pfo->rescale;
size->cy *= pfo->rescale;
HeapFree( GetProcessHeap(), 0, p );
return TRUE;
}
dev = GET_NEXT_PHYSDEV( dev, pGetTextExtentExPoint );
return dev->funcs->pGetTextExtentExPoint( dev, str, count, maxExt, lpnFit, alpDx, size );
}
开发者ID:bpon,项目名称:wine,代码行数:54,代码来源:text.c
示例13: PSDRV_ExtTextOut
/***********************************************************************
* PSDRV_ExtTextOut
*/
BOOL PSDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, const RECT *lprect, LPCWSTR str, UINT count,
const INT *lpDx )
{
PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
BOOL bResult = TRUE;
BOOL bClipped = FALSE;
BOOL bOpaque = FALSE;
TRACE("(x=%d, y=%d, flags=0x%08x, str=%s, count=%d, lpDx=%p)\n", x, y,
flags, debugstr_wn(str, count), count, lpDx);
if(physDev->job.id == 0) return FALSE;
/* write font if not already written */
PSDRV_SetFont(dev);
PSDRV_SetClip(dev);
/* set clipping and/or draw background */
if ((flags & (ETO_CLIPPED | ETO_OPAQUE)) && (lprect != NULL))
{
PSDRV_WriteGSave(dev);
PSDRV_WriteRectangle(dev, lprect->left, lprect->top, lprect->right - lprect->left,
lprect->bottom - lprect->top);
if (flags & ETO_OPAQUE)
{
bOpaque = TRUE;
PSDRV_WriteGSave(dev);
PSDRV_WriteSetColor(dev, &physDev->bkColor);
PSDRV_WriteFill(dev);
PSDRV_WriteGRestore(dev);
}
if (flags & ETO_CLIPPED)
{
bClipped = TRUE;
PSDRV_WriteClip(dev);
}
bResult = PSDRV_Text(dev, x, y, flags, str, count, !(bClipped && bOpaque), lpDx);
PSDRV_WriteGRestore(dev);
}
else
{
bResult = PSDRV_Text(dev, x, y, flags, str, count, TRUE, lpDx);
}
PSDRV_ResetClip(dev);
return bResult;
}
开发者ID:MichaelMcDonnell,项目名称:wine,代码行数:54,代码来源:text.c
示例14: d2d_dc_render_target_DrawText
static void STDMETHODCALLTYPE d2d_dc_render_target_DrawText(ID2D1DCRenderTarget *iface,
const WCHAR *string, UINT32 string_len, IDWriteTextFormat *text_format, const D2D1_RECT_F *layout_rect,
ID2D1Brush *brush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuring_mode)
{
struct d2d_dc_render_target *render_target = impl_from_ID2D1DCRenderTarget(iface);
TRACE("iface %p, string %s, string_len %u, text_format %p, layout_rect %s, "
"brush %p, options %#x, measuring_mode %#x.\n",
iface, debugstr_wn(string, string_len), string_len, text_format, debug_d2d_rect_f(layout_rect),
brush, options, measuring_mode);
ID2D1RenderTarget_DrawText(render_target->dxgi_target, string, string_len,
text_format, layout_rect, brush, options, measuring_mode);
}
开发者ID:wine-mirror,项目名称:wine,代码行数:14,代码来源:dc_render_target.c
示例15: mxwriter_saxcontent_endElement
static HRESULT WINAPI mxwriter_saxcontent_endElement(
ISAXContentHandler *iface,
const WCHAR *namespaceUri,
int nnamespaceUri,
const WCHAR * local_name,
int nlocal_name,
const WCHAR *QName,
int nQName)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
TRACE("(%p)->(%s:%d %s:%d %s:%d)\n", This, debugstr_wn(namespaceUri, nnamespaceUri), nnamespaceUri,
debugstr_wn(local_name, nlocal_name), nlocal_name, debugstr_wn(QName, nQName), nQName);
if ((!namespaceUri || !local_name || !QName) && This->class_version != MSXML6)
return E_INVALIDARG;
if (This->element && QName && !strncmpW(This->element, QName, nQName))
{
static const WCHAR closeW[] = {'/','>'};
write_output_buffer(This->buffer, closeW, 2);
}
else
{
static const WCHAR closetagW[] = {'<','/'};
static const WCHAR gtW[] = {'>'};
write_output_buffer(This->buffer, closetagW, 2);
write_output_buffer(This->buffer, QName, nQName);
write_output_buffer(This->buffer, gtW, 1);
}
set_element_name(This, NULL, 0);
return S_OK;
}
开发者ID:bpon,项目名称:wine,代码行数:37,代码来源:mxwriter.c
示例16: MsiDecomposeDescriptorW
/*************************************************************************
* MsiDecomposeDescriptorW [[email protected]]
*
* Decomposes an MSI descriptor into product, feature and component parts.
* An MSI descriptor is a string of the form:
* [base 85 guid] [feature code] '>' [base 85 guid]
*
* PARAMS
* szDescriptor [I] the descriptor to decompose
* szProduct [O] buffer of MAX_FEATURE_CHARS+1 for the product guid
* szFeature [O] buffer of MAX_FEATURE_CHARS+1 for the feature code
* szComponent [O] buffer of MAX_FEATURE_CHARS+1 for the component guid
* pUsed [O] the length of the descriptor
*
* RETURNS
* ERROR_SUCCESS if everything worked correctly
* ERROR_INVALID_PARAMETER if the descriptor was invalid
*
*/
UINT WINAPI MsiDecomposeDescriptorW( LPCWSTR szDescriptor, LPWSTR szProduct,
LPWSTR szFeature, LPWSTR szComponent, LPDWORD pUsed )
{
UINT r, len;
LPWSTR p;
GUID product, component;
TRACE("%s %p %p %p %p\n", debugstr_w(szDescriptor), szProduct,
szFeature, szComponent, pUsed);
r = decode_base85_guid( szDescriptor, &product );
if( !r )
return ERROR_INVALID_PARAMETER;
TRACE("product %s\n", debugstr_guid( &product ));
p = strchrW(&szDescriptor[20],'>');
if( !p )
return ERROR_INVALID_PARAMETER;
len = (p - &szDescriptor[20]);
if( len > MAX_FEATURE_CHARS )
return ERROR_INVALID_PARAMETER;
TRACE("feature %s\n", debugstr_wn( &szDescriptor[20], len ));
r = decode_base85_guid( p+1, &component );
if( !r )
return ERROR_INVALID_PARAMETER;
TRACE("component %s\n", debugstr_guid( &component ));
if (szProduct)
StringFromGUID2( &product, szProduct, MAX_FEATURE_CHARS+1 );
if (szComponent)
StringFromGUID2( &component, szComponent, MAX_FEATURE_CHARS+1 );
if (szFeature)
{
memcpy( szFeature, &szDescriptor[20], len*sizeof(WCHAR) );
szFeature[len] = 0;
}
len = ( &p[21] - szDescriptor );
TRACE("length = %d\n", len);
*pUsed = len;
return ERROR_SUCCESS;
}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:67,代码来源:registry.c
示例17: load_strings
/***********************************************************************
* load_strings
*/
static void load_strings(HINSTANCE instance)
{
static const unsigned int ids[] = {
STRING_MENU_WINE,
STRING_MENU_ITEM_HIDE_APPNAME,
STRING_MENU_ITEM_HIDE,
STRING_MENU_ITEM_HIDE_OTHERS,
STRING_MENU_ITEM_SHOW_ALL,
STRING_MENU_ITEM_QUIT_APPNAME,
STRING_MENU_ITEM_QUIT,
STRING_MENU_WINDOW,
STRING_MENU_ITEM_MINIMIZE,
STRING_MENU_ITEM_ZOOM,
STRING_MENU_ITEM_ENTER_FULL_SCREEN,
STRING_MENU_ITEM_BRING_ALL_TO_FRONT,
};
CFMutableDictionaryRef dict;
int i;
dict = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
if (!dict)
{
ERR("Failed to create localized strings dictionary\n");
return;
}
for (i = 0; i < sizeof(ids) / sizeof(ids[0]); i++)
{
LPCWSTR str;
int len = LoadStringW(instance, ids[i], (LPWSTR)&str, 0);
if (str && len)
{
CFNumberRef key = CFNumberCreate(NULL, kCFNumberIntType, &ids[i]);
CFStringRef value = CFStringCreateWithCharacters(NULL, (UniChar*)str, len);
if (key && value)
CFDictionarySetValue(dict, key, value);
else
ERR("Failed to add string ID 0x%04x %s\n", ids[i], debugstr_wn(str, len));
}
else
ERR("Failed to load string ID 0x%04x\n", ids[i]);
}
localized_strings = dict;
}
开发者ID:AndreRH,项目名称:wine,代码行数:50,代码来源:macdrv_main.c
示例18: mxwriter_saxcontent_characters
static HRESULT WINAPI mxwriter_saxcontent_characters(
ISAXContentHandler *iface,
const WCHAR *chars,
int nchars)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
TRACE("(%p)->(%s:%d)\n", This, debugstr_wn(chars, nchars), nchars);
if (!chars) return E_INVALIDARG;
close_element_starttag(This);
set_element_name(This, NULL, 0);
if (nchars)
write_output_buffer(This->buffer, chars, nchars);
return S_OK;
}
开发者ID:bpon,项目名称:wine,代码行数:19,代码来源:mxwriter.c
示例19: do_preprocess
static HRESULT do_preprocess(const Registrar *This, LPCOLESTR data, strbuf *buf)
{
LPCOLESTR iter, iter2 = data;
rep_list *rep_iter;
static const WCHAR wstr[] = {'%',0};
iter = strchrW(data, '%');
while(iter) {
strbuf_write(iter2, buf, iter-iter2);
iter2 = ++iter;
if(!*iter2)
return DISP_E_EXCEPTION;
iter = strchrW(iter2, '%');
if(!iter)
return DISP_E_EXCEPTION;
if(iter == iter2) {
strbuf_write(wstr, buf, 1);
}else {
for(rep_iter = This->rep; rep_iter; rep_iter = rep_iter->next) {
if(rep_iter->key_len == iter-iter2
&& !memicmpW(iter2, rep_iter->key, rep_iter->key_len))
break;
}
if(!rep_iter) {
WARN("Could not find replacement: %s\n", debugstr_wn(iter2, iter-iter2));
return DISP_E_EXCEPTION;
}
strbuf_write(rep_iter->item, buf, -1);
}
iter2 = ++iter;
iter = strchrW(iter, '%');
}
strbuf_write(iter2, buf, -1);
TRACE("%s\n", debugstr_w(buf->str));
return S_OK;
}
开发者ID:WASSUM,项目名称:longene_travel,代码行数:42,代码来源:registrar.c
示例20: WindowsCreateString
/***********************************************************************
* WindowsCreateString ([email protected])
*/
HRESULT WINAPI WindowsCreateString(LPCWSTR ptr, UINT32 len,
HSTRING *out)
{
struct hstring_private *priv;
TRACE("(%s, %u, %p)\n", debugstr_wn(ptr, len), len, out);
if (out == NULL)
return E_INVALIDARG;
if (len == 0)
{
*out = NULL;
return S_OK;
}
if (ptr == NULL)
return E_POINTER;
if (!alloc_string(len, out))
return E_OUTOFMEMORY;
priv = impl_from_HSTRING(*out);
memcpy(priv->buffer, ptr, len * sizeof(*priv->buffer));
return S_OK;
}
开发者ID:hejin,项目名称:wine,代码行数:25,代码来源:string.c
注:本文中的debugstr_wn函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论