Module: ReservedNames::Win32::API::Macros

Defined in:
lib/chef/win32/api.rb

Instance Method Summary collapse

Instance Method Details

#FAILED(status) ⇒ Object



346
347
348
# File 'lib/chef/win32/api.rb', line 346

def FAILED(status)
  status < 0
end

#HIBYTE(w) ⇒ Object

Retrieves the high-order byte from the given 16-bit value.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632656(v=VS.85).aspx



302
303
304
# File 'lib/chef/win32/api.rb', line 302

def HIBYTE(w)
  w >> 8
end

#HIWORD(l) ⇒ Object

Retrieves the high-order word from the specified 32-bit value.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632657(v=VS.85).aspx



288
289
290
# File 'lib/chef/win32/api.rb', line 288

def HIWORD(l)
  l >> 16
end

#HRESULT_CODE(hr) ⇒ Object



322
323
324
# File 'lib/chef/win32/api.rb', line 322

def HRESULT_CODE(hr)
  hr & 0xFFFF
end

#HRESULT_FACILITY(hr) ⇒ Object



326
327
328
# File 'lib/chef/win32/api.rb', line 326

def HRESULT_FACILITY(hr)
  (hr >> 16) & 0x1fff
end

#HRESULT_FROM_NT(x) ⇒ Object



330
331
332
# File 'lib/chef/win32/api.rb', line 330

def HRESULT_FROM_NT(x)
  x | 0x10000000 # FACILITY_NT_BIT
end

#HRESULT_FROM_WIN32(x) ⇒ Object



334
335
336
337
338
339
340
# File 'lib/chef/win32/api.rb', line 334

def HRESULT_FROM_WIN32(x)
  if x <= 0
    x
  else
    (x & 0x0000FFFF) | (7 << 16) | 0x80000000
  end
end

#HRESULT_SEVERITY(hr) ⇒ Object



342
343
344
# File 'lib/chef/win32/api.rb', line 342

def HRESULT_SEVERITY(hr)
  (hr >> 31) & 0x1
end

#IS_ERROR(status) ⇒ Object

winerror.h



310
311
312
# File 'lib/chef/win32/api.rb', line 310

def IS_ERROR(status)
  status >> 31 == 1
end

#LOBYTE(w) ⇒ Object

Retrieves the low-order byte from the specified value.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=VS.85).aspx



295
296
297
# File 'lib/chef/win32/api.rb', line 295

def LOBYTE(w)
  w & 0xff
end

#LocalDiscard(pointer) ⇒ Object

winbase.h



256
257
258
# File 'lib/chef/win32/api.rb', line 256

def LocalDiscard(pointer)
  LocalReAlloc(pointer, 0, LMEM_MOVEABLE)
end

#LOWORD(l) ⇒ Object

Retrieves the low-order word from the specified value.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632659(v=VS.85).aspx



281
282
283
# File 'lib/chef/win32/api.rb', line 281

def LOWORD(l)
  l & 0xffff
end

#MAKE_HRESULT(sev, fac, code) ⇒ Object



314
315
316
# File 'lib/chef/win32/api.rb', line 314

def MAKE_HRESULT(sev, fac, code)
  sev << 31 | fac << 16 | code
end

#MAKE_SCODE(sev, fac, code) ⇒ Object



318
319
320
# File 'lib/chef/win32/api.rb', line 318

def MAKE_SCODE(sev, fac, code)
  sev << 31 | fac << 16 | code
end

#MAKELONG(low, high) ⇒ Object

Creates a LONG value by concatenating the specified values.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632660(v=vs.85).aspx



274
275
276
# File 'lib/chef/win32/api.rb', line 274

def MAKELONG(low, high)
  ((low & 0xffff) | (high & 0xffff)) << 16
end

#MAKEWORD(low, high) ⇒ Object

Creates a WORD value by concatenating the specified values.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632663(v=VS.85).aspx



267
268
269
# File 'lib/chef/win32/api.rb', line 267

def MAKEWORD(low, high)
  ((low & 0xff) | (high & 0xff)) << 8
end

#SUCCEEDED(status) ⇒ Object



350
351
352
# File 'lib/chef/win32/api.rb', line 350

def SUCCEEDED(status)
  status >= 0
end