Class: Winevt::EventLog::Bookmark
- Inherits:
-
Object
- Object
- Winevt::EventLog::Bookmark
- Defined in:
- ext/winevt/winevt.c
Instance Method Summary collapse
Constructor Details
#initialize(*args) ⇒ Object
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 |
# File 'ext/winevt/winevt.c', line 383
static VALUE
rb_winevt_bookmark_initialize(int argc, VALUE *argv, VALUE self)
{
PWSTR bookmarkXml;
VALUE wbookmarkXmlBuf;
DWORD len;
struct WinevtBookmark *winevtBookmark;
TypedData_Get_Struct(self, struct WinevtBookmark, &rb_winevt_bookmark_type, winevtBookmark);
if (argc == 0) {
winevtBookmark->bookmark = EvtCreateBookmark(NULL);
} else if (argc == 1) {
VALUE rb_bookmarkXml;
rb_scan_args(argc, argv, "10", &rb_bookmarkXml);
Check_Type(rb_bookmarkXml, T_STRING);
// bookmarkXml : To wide char
len = MultiByteToWideChar(CP_UTF8, 0, RSTRING_PTR(rb_bookmarkXml), RSTRING_LEN(rb_bookmarkXml), NULL, 0);
bookmarkXml = ALLOCV_N(WCHAR, wbookmarkXmlBuf, len+1);
MultiByteToWideChar(CP_UTF8, 0, RSTRING_PTR(rb_bookmarkXml), RSTRING_LEN(rb_bookmarkXml), bookmarkXml, len);
bookmarkXml[len] = L'\0';
winevtBookmark->bookmark = EvtCreateBookmark(bookmarkXml);
ALLOCV_END(wbookmarkXmlBuf);
}
return Qnil;
}
|
Instance Method Details
#render ⇒ Object
428 429 430 431 432 433 434 435 436 437 438 439 |
# File 'ext/winevt/winevt.c', line 428
static VALUE
rb_winevt_bookmark_render(VALUE self)
{
char* result;
struct WinevtBookmark *winevtBookmark;
TypedData_Get_Struct(self, struct WinevtBookmark, &rb_winevt_bookmark_type, winevtBookmark);
result = render_event(winevtBookmark->bookmark, EvtRenderBookmark);
return rb_str_new2(result);
}
|
#update(event) ⇒ Object
412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 |
# File 'ext/winevt/winevt.c', line 412
static VALUE
rb_winevt_bookmark_update(VALUE self, VALUE event)
{
struct WinevtQuery *winevtQuery;
struct WinevtBookmark *winevtBookmark;
winevtQuery = EventQuery(event);
TypedData_Get_Struct(self, struct WinevtBookmark, &rb_winevt_bookmark_type, winevtBookmark);
if(EvtUpdateBookmark(winevtBookmark->bookmark, winevtQuery->event))
return Qtrue;
return Qfalse;
}
|