win 0.3.17 → 0.3.24

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY CHANGED
@@ -62,3 +62,31 @@
62
62
  == 0.3.17 / 2010-06-13
63
63
 
64
64
  * Message fucntions now accept both Pointer and Long lParams
65
+
66
+ == 0.3.18 / 2010-06-18
67
+
68
+ * Gui::Menu module initiated
69
+
70
+ == 0.3.19 / 2010-06-18
71
+
72
+ * Gui::Menu::GetSystemMenu function added
73
+
74
+ == 0.3.20 / 2010-06-20
75
+
76
+ * Library::function now uses :fails option instead of :zeronil
77
+
78
+ == 0.3.21 / 2010-06-21
79
+
80
+ * atlres.h constants added to Win::Gui::Menu
81
+
82
+ == 0.3.22 / 2010-06-21
83
+
84
+ * Menu::AppendMenu function added
85
+
86
+ == 0.3.23 / 2010-06-21
87
+
88
+ * Menu::InsertMenu function added
89
+
90
+ == 0.3.24 / 2010-06-21
91
+
92
+ * Menu::DeleteMenu function added
data/README.rdoc CHANGED
@@ -77,7 +77,7 @@ natural inside Ruby code. Following the principle of least surprise, we define w
77
77
  * Have meaningful Rubyesque names (iconic? and minimized? instead of IsIconic, etc)
78
78
  * Require minimum arguments with sensible defaults
79
79
  * Return appropriate values explicitly (several return values if necessary)
80
- * Have sensible returns (false/true instead of 0/nonzero for test functions, nil if find function fails, etc)
80
+ * Have sensible returns (false/true instead of 0/nonzero for test functions, nil if function fails, etc)
81
81
  * Accept blocks where callback is needed, provide default callback if no block given
82
82
  * Are partitioned into appropriate namespaces, so that you can load only the modules you really need
83
83
 
@@ -134,8 +134,10 @@ Contributors always welcome!
134
134
  module YourLibModule
135
135
  include Win::Library
136
136
 
137
- # Customizing method behavior: zeronil forces function to return nil instead of 0, rename renames method
138
- function :FindWindow, [:pointer, :pointer], :ulong, zeronil: true, rename: :my_find
137
+ # Customizing method behavior -
138
+ # :fails option forces function to return nil if its result is equal to specified error code (0)
139
+ # :snake_name option defines method with given snake_case name
140
+ function :FindWindow, [:pointer, :pointer], :ulong, fails: 0, snake_name: :my_find
139
141
 
140
142
  # Customizing even further: your own method extension in attached block
141
143
  function :GetWindowText, [ :ulong, :pointer, :int ], :int do |api, handle|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.17
1
+ 0.3.24
data/lib/win/dde.rb CHANGED
@@ -18,11 +18,11 @@ module Win
18
18
  DNS_UNREGISTER = 2
19
19
  # Turns on service name initiation filtering. The filter prevents a server from receiving
20
20
  # XTYP_CONNECT transactions for service names it has not registered. This is the default
21
- # setting for this filter. If a server application does not register any service names,
22
- # the application cannot receive XTYP_WILDCONNECT transactions.
21
+ # setting for this filter. If a server App does not register any service names,
22
+ # the App cannot receive XTYP_WILDCONNECT transactions.
23
23
  DNS_FILTERON = 4
24
24
  # Turns off service name initiation filtering. If this flag is specified, the server
25
- # receives an XTYP_CONNECT transaction whenever another DDE application calls the
25
+ # receives an XTYP_CONNECT transaction whenever another DDE App calls the
26
26
  # DdeConnect function, regardless of the service name.
27
27
  DNS_FILTEROFF = 8
28
28
 
@@ -109,28 +109,28 @@ module Win
109
109
 
110
110
  # DdeInitialize afCmd flaggs:
111
111
 
112
- # Registers the application as a standard (nonmonitoring) DDEML application.
112
+ # Registers the App as a standard (nonmonitoring) DDEML App.
113
113
  APPCLASS_STANDARD = 0
114
- # Makes it possible for the application to monitor DDE activity in the system.
115
- # This flag is for use by DDE monitoring applications. The application specifies the types of DDE
114
+ # Makes it possible for the App to monitor DDE activity in the system.
115
+ # This flag is for use by DDE monitoring Apps. The App specifies the types of DDE
116
116
  # activity to monitor by combining one or more monitor flags with the APPCLASS_MONITOR flag.
117
117
  APPCLASS_MONITOR = 0x00000001
118
118
  # ?
119
119
  APPCLASS_MASK = 0x0000000F
120
- # Prevents the application from becoming a server in a DDE conversation. The application can only be a client.
120
+ # Prevents the App from becoming a server in a DDE conversation. The App can only be a client.
121
121
  # This flag reduces consumption of resources by the DDEML. It includes the CBF_FAIL_ALLSVRXACTIONS flag.
122
122
  APPCMD_CLIENTONLY = 0x00000010
123
- # Prevents the DDEML from sending XTYP_CONNECT and XTYP_WILDCONNECT transactions to the application until
124
- # the application has created its string handles and registered its service names or has turned off filtering
123
+ # Prevents the DDEML from sending XTYP_CONNECT and XTYP_WILDCONNECT transactions to the App until
124
+ # the App has created its string handles and registered its service names or has turned off filtering
125
125
  # by a subsequent call to the DdeNameService or DdeInitialize function. This flag is always in effect when an
126
- # application calls DdeInitialize for the first time, regardless of whether the application specifies the flag.
127
- # On subsequent calls to DdeInitialize, not specifying this flag turns off the application's service-name
128
- # filters, but specifying it turns on the application's service name filters.
126
+ # App calls DdeInitialize for the first time, regardless of whether the App specifies the flag.
127
+ # On subsequent calls to DdeInitialize, not specifying this flag turns off the App's service-name
128
+ # filters, but specifying it turns on the App's service name filters.
129
129
  APPCMD_FILTERINITS = 0x00000020
130
130
  # ?
131
131
  APPCMD_MASK = 0x00000FF0
132
- # Prevents the callback function from receiving XTYP_CONNECT transactions from the application's own instance.
133
- # This flag prevents an application from establishing a DDE conversation with its own instance. An application
132
+ # Prevents the callback function from receiving XTYP_CONNECT transactions from the App's own instance.
133
+ # This flag prevents an App from establishing a DDE conversation with its own instance. An App
134
134
  # should use this flag if it needs to communicate with other instances of itself but not with itself.
135
135
  CBF_FAIL_SELFCONNECTIONS = 0x00001000
136
136
  # Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT.
@@ -148,7 +148,7 @@ module Win
148
148
  # to a client that sends an XTYP_REQUEST transaction to the server.
149
149
  CBF_FAIL_REQUESTS = 0x00020000
150
150
  # Prevents the callback function from receiving server transactions. The system returns DDE_FNOTPROCESSED to each
151
- # client that sends a transaction to this application. This flag is equivalent to combining all CBF_FAIL_ flags.
151
+ # client that sends a transaction to this App. This flag is equivalent to combining all CBF_FAIL_ flags.
152
152
  CBF_FAIL_ALLSVRXACTIONS = 0x0003f000
153
153
  # Prevents the callback function from receiving XTYP_CONNECT_CONFIRM.
154
154
  CBF_SKIP_CONNECT_CONFIRMS = 0x00040000
@@ -160,12 +160,12 @@ module Win
160
160
  CBF_SKIP_DISCONNECTS = 0x00200000
161
161
  # Prevents the callback function from receiving any notifications. Equivalent to combining all CBF_SKIP_ flags.
162
162
  CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000
163
- # Notifies the callback function whenever a DDE application creates, frees, or increments the usage count of
163
+ # Notifies the callback function whenever a DDE App creates, frees, or increments the usage count of
164
164
  # a string handle or whenever a string handle is freed as a result of a call to the DdeUninitialize function.
165
165
  MF_HSZ_INFO = 0x01000000
166
- # Notifies the callback function whenever the system or an application sends a DDE message.
166
+ # Notifies the callback function whenever the system or an App sends a DDE message.
167
167
  MF_SENDMSGS = 0x02000000
168
- # Notifies the callback function whenever the system or an application posts a DDE message.
168
+ # Notifies the callback function whenever the system or an App posts a DDE message.
169
169
  MF_POSTMSGS = 0x04000000
170
170
  # Notifies the callback function whenever a transaction is sent to any DDE callback function in the system.
171
171
  MF_CALLBACKS = 0x08000000
@@ -223,21 +223,21 @@ module Win
223
223
  # A DDEML function was called without first calling the DdeInitialize function, or an invalid instance
224
224
  # identifier was passed to a DDEML function.
225
225
  DMLERR_DLL_NOT_INITIALIZED = 0x4003
226
- # An application initialized as APPCLASS_MONITOR has attempted to perform a Dynamic Data Exchange (DDE) transaction,
227
- # or an application initialized as APPCMD_CLIENTONLY has attempted to perform server transactions.
226
+ # An App initialized as APPCLASS_MONITOR has attempted to perform a Dynamic Data Exchange (DDE) transaction,
227
+ # or an App initialized as APPCMD_CLIENTONLY has attempted to perform server transactions.
228
228
  DMLERR_DLL_USAGE = 0x4004
229
229
  # A request for a synchronous execute transaction has timed out.
230
230
  DMLERR_EXECACKTIMEOUT = 0x4005
231
231
  # A parameter failed to be validated by the DDEML. Some of the possible causes follow:
232
- # - The application used a data handle initialized with a different item name handle than was required by the
232
+ # - The App used a data handle initialized with a different item name handle than was required by the
233
233
  # transaction.
234
- # - The application used a data handle that was initialized with a different clipboard data format than was
234
+ # - The App used a data handle that was initialized with a different clipboard data format than was
235
235
  # required by the transaction.
236
- # - The application used a client-side conversation handle with a server-side function or vice versa.
237
- # - The application used a freed data handle or string handle.
238
- # - More than one instance of the application used the same object.
236
+ # - The App used a client-side conversation handle with a server-side function or vice versa.
237
+ # - The App used a freed data handle or string handle.
238
+ # - More than one instance of the App used the same object.
239
239
  DMLERR_INVALIDPARAMETER = 0x4006
240
- # A DDEML application has created a prolonged race condition (in which the server application
240
+ # A DDEML App has created a prolonged race condition (in which the server App
241
241
  # outruns the client), causing large amounts of memory to be consumed.
242
242
  DMLERR_LOW_MEMORY = 0x4007
243
243
  # A memory allocation has failed.
@@ -250,7 +250,7 @@ module Win
250
250
  DMLERR_POKEACKTIMEOUT = 0x400b
251
251
  # An internal call to the PostMessage function has failed.
252
252
  DMLERR_POSTMSG_FAILED = 0x400c
253
- # An application instance with a synchronous transaction already in progress attempted to initiate another
253
+ # An App instance with a synchronous transaction already in progress attempted to initiate another
254
254
  # synchronous transaction, or the DdeEnableCallback function was called from within a DDEML callback function.
255
255
  DMLERR_REENTRANCY = 0x400d
256
256
  # A server-side transaction was attempted on a conversation terminated by the client, or the server terminated
@@ -260,7 +260,7 @@ module Win
260
260
  DMLERR_SYS_ERROR = 0x400f
261
261
  # A request to end an advise transaction has timed out.
262
262
  DMLERR_UNADVACKTIMEOUT = 0x4010
263
- # An invalid transaction identifier was passed to a DDEML function. Once the application has returned from an
263
+ # An invalid transaction identifier was passed to a DDEML function. Once the App has returned from an
264
264
  # XTYP_XACT_COMPLETE callback, the transaction identifier for that callback function is no longer valid.
265
265
  DMLERR_UNFOUND_QUEUE_ID = 0x4011
266
266
  # Last (highest) error code
@@ -275,26 +275,26 @@ module Win
275
275
  DMLERR_DATAACKTIMEOUT => 'A request for a synchronous data transaction has timed out.',
276
276
  DMLERR_DLL_NOT_INITIALIZED => 'A DDEML function was called without first calling the DdeInitialize ' +
277
277
  'function, or an invalid instance identifier was passed to a DDEML function.',
278
- DMLERR_DLL_USAGE => 'An application initialized as APPCLASS_MONITOR has attempted to perform a DDE ' +
279
- 'transaction, or an application initialized as APPCMD_CLIENTONLY has attempted to perform ' +
278
+ DMLERR_DLL_USAGE => 'An App initialized as APPCLASS_MONITOR has attempted to perform a DDE ' +
279
+ 'transaction, or an App initialized as APPCMD_CLIENTONLY has attempted to perform ' +
280
280
  'server transactions.',
281
281
  DMLERR_EXECACKTIMEOUT => 'A request for a synchronous execute transaction has timed out.',
282
282
  DMLERR_INVALIDPARAMETER => 'A parameter failed to be validated by the DDEML. Possible causes: ' +
283
- 'Application used a data handle initialized with a different item name handle than was required ' +
283
+ 'App used a data handle initialized with a different item name handle than was required ' +
284
284
  'by the transaction. ' +
285
- 'The application used a data handle that was initialized with a different clipboard data format ' +
285
+ 'The App used a data handle that was initialized with a different clipboard data format ' +
286
286
  'than was required by the transaction. ' +
287
- 'The application used a client-side conversation handle with server-side function or vice versa. ' +
288
- 'The application used a freed data handle or string handle. ' +
289
- 'More than one instance of the application used the same object.',
290
- DMLERR_LOW_MEMORY => 'A DDEML application has created a prolonged race condition (in which the server ' +
291
- 'application outruns the client), causing large amounts of memory to be consumed.',
287
+ 'The App used a client-side conversation handle with server-side function or vice versa. ' +
288
+ 'The App used a freed data handle or string handle. ' +
289
+ 'More than one instance of the App used the same object.',
290
+ DMLERR_LOW_MEMORY => 'A DDEML App has created a prolonged race condition (in which the server ' +
291
+ 'App outruns the client), causing large amounts of memory to be consumed.',
292
292
  DMLERR_MEMORY_ERROR => 'A memory allocation has failed.',
293
293
  DMLERR_NO_CONV_ESTABLISHED => 'A client`s attempt to establish a conversation has failed.',
294
294
  DMLERR_NOTPROCESSED => 'A transaction has failed.',
295
295
  DMLERR_POKEACKTIMEOUT => 'A request for a synchronous poke transaction has timed out.',
296
296
  DMLERR_POSTMSG_FAILED => 'An internal call to the PostMessage function has failed.',
297
- DMLERR_REENTRANCY => 'An application instance with a synchronous transaction already in progress ' +
297
+ DMLERR_REENTRANCY => 'An App instance with a synchronous transaction already in progress ' +
298
298
  'attempted to initiate another synchronous transaction, or the DdeEnableCallback function ' +
299
299
  'was called from within a DDEML callback function.',
300
300
  DMLERR_SERVER_DIED => 'A server-side transaction was attempted on a conversation terminated by the ' +
@@ -302,7 +302,7 @@ module Win
302
302
  DMLERR_SYS_ERROR => 'An internal error has occurred in the DDEML.',
303
303
  DMLERR_UNADVACKTIMEOUT => 'A request to end an advise transaction has timed out.',
304
304
  DMLERR_UNFOUND_QUEUE_ID => 'An invalid transaction identifier was passed to a DDEML function. Once the ' +
305
- 'application has returned from an XTYP_XACT_COMPLETE callback, the transaction identifier for ' +
305
+ 'App has returned from an XTYP_XACT_COMPLETE callback, the transaction identifier for ' +
306
306
  'that callback function is no longer valid.'
307
307
  }
308
308
 
@@ -338,8 +338,8 @@ module Win
338
338
  TIMEOUT_ASYNC = 0xFFFFFFFF
339
339
 
340
340
  # The MONCBSTRUCT structure contains information about the current Dynamic Data Exchange (DDE)
341
- # transaction. A DDE debugging application can use this structure when monitoring transactions that the
342
- # system passes to the DDE callback functions of other applications.
341
+ # transaction. A DDE debugging App can use this structure when monitoring transactions that the
342
+ # system passes to the DDE callback functions of other Apps.
343
343
  #
344
344
  # [*Typedef*] struct { UINT cb; DWORD dwTime; HANDLE hTask; DWORD dwRet; UINT wType; UINT wFmt; HCONV
345
345
  # hConv; HSZ hsz1; HSZ hsz2; HDDEDATA hData; ULONG_PTR dwData1; ULONG_PTR dwData2;
@@ -365,8 +365,8 @@ module Win
365
365
  # ---
366
366
  # *Information*:
367
367
  # Header Declared in Ddeml.h, include Windows.h
368
-
369
- class MonCbStruct < FFI::Struct # :nodoc:
368
+ #
369
+ class MonCbStruct < FFI::Struct
370
370
  layout :cb, :uint,
371
371
  :dw_time, :uint32,
372
372
  :h_task, :ulong,
@@ -385,7 +385,7 @@ module Win
385
385
  end
386
386
 
387
387
  # The MONCONVSTRUCT structure contains information about a Dynamic Data Exchange (DDE) conversation. A
388
- # DDE monitoring application can use this structure to obtain information about a conversation that has
388
+ # DDE monitoring App can use this structure to obtain information about a conversation that has
389
389
  # been established or has terminated.
390
390
  #
391
391
  # [*Typedef*] struct { UINT cb; BOOL fConnect; DWORD dwTime; HANDLE hTask; HSZ hszSvc; HSZ hszTopic;
@@ -396,7 +396,7 @@ module Win
396
396
  # conversation is established; FALSE indicates it is not.
397
397
  # dwTime:: Specifies the Windows time at which the conversation was established or terminated. Windows
398
398
  # time is the number of milliseconds that have elapsed since the system was booted.
399
- # hTask:: Handle to a task (application instance) that is a partner in the conversation.
399
+ # hTask:: Handle to a task (App instance) that is a partner in the conversation.
400
400
  # hszSvc:: Handle to the service name on which the conversation is established.
401
401
  # hszTopic:: Handle to the topic name on which the conversation is established.
402
402
  # hConvClient:: Handle to the client conversation.
@@ -408,7 +408,7 @@ module Win
408
408
  # Similarly, conversation handles are local to the instance; therefore, the hConvClient and hConvServer
409
409
  # members are window handles.
410
410
  # The hConvClient and hConvServer members of the MONCONVSTRUCT structure do not hold the same value as
411
- # would be seen by the applications engaged in the conversation. Instead, they hold a globally unique
411
+ # would be seen by the Apps engaged in the conversation. Instead, they hold a globally unique
412
412
  # pair of values that identify the conversation.
413
413
  # ---
414
414
  # Structure Information:
@@ -426,7 +426,7 @@ module Win
426
426
  end
427
427
 
428
428
  # The MONERRSTRUCT structure contains information about the current Dynamic Data Exchange (DDE) error. A
429
- # DDE monitoring application can use this structure to monitor errors returned by DDE Management Library
429
+ # DDE monitoring App can use this structure to monitor errors returned by DDE Management Library
430
430
  # functions.
431
431
  #
432
432
  # [*Typedef*] struct { UINT cb; UINT wLastError; DWORD dwTime; HANDLE hTask } MONERRSTRUCT;
@@ -435,12 +435,12 @@ module Win
435
435
  # wLastError:: Specifies the current error.
436
436
  # dwTime:: Specifies the Windows time at which the error occurred. Windows time is the number of
437
437
  # milliseconds that have elapsed since the system was booted.
438
- # hTask:: Handle to the task (application instance) that called the DDE function that caused the error.
438
+ # hTask:: Handle to the task (App instance) that called the DDE function that caused the error.
439
439
  # ---
440
440
  # Structure Information:
441
441
  # Header Declared in Ddeml.h, include Windows.h
442
442
  #
443
- class MonErrStruct < FFI::Struct # :nodoc:
443
+ class MonErrStruct < FFI::Struct
444
444
  layout :cb, :uint,
445
445
  :w_last_error, :uint,
446
446
  :dw_time, :uint32,
@@ -453,29 +453,29 @@ module Win
453
453
  MH_CLEANUP = 4
454
454
 
455
455
  # The MONHSZSTRUCT structure contains information about a Dynamic Data Exchange (DDE) string handle. A
456
- # DDE monitoring application can use this structure when monitoring the activity of the string manager
456
+ # DDE monitoring App can use this structure when monitoring the activity of the string manager
457
457
  # component of the DDE Management Library.
458
458
  #
459
459
  # [*Typedef*] struct { UINT cb; BOOL fsAction; DWORD dwTime; HSZ hsz; HANDLE hTask; TCHAR str[1] } MONHSZSTRUCT;
460
460
  #
461
461
  # cb:: Specifies the structure's size, in bytes.
462
462
  # fsAction:: Specifies the action being performed on the string identified by the hsz member.
463
- # MH_CLEANUP:: An application is freeing its DDE resources, causing the system to delete string handles
464
- # the application had created. (The application called the DdeUninitialize function.)
465
- # MH_CREATE:: An application is creating a string handle. (The app called the DdeCreateStringHandle)
466
- # MH_DELETE:: An application is deleting a string handle. (The app called the DdeFreeStringHandle)
467
- # MH_KEEP:: An application is increasing the usage count of a string handle. (The application called the
463
+ # MH_CLEANUP:: An App is freeing its DDE resources, causing the system to delete string handles
464
+ # the App had created. (The App called the DdeUninitialize function.)
465
+ # MH_CREATE:: An App is creating a string handle. (The app called the DdeCreateStringHandle)
466
+ # MH_DELETE:: An App is deleting a string handle. (The app called the DdeFreeStringHandle)
467
+ # MH_KEEP:: An App is increasing the usage count of a string handle. (The App called the
468
468
  # DdeKeepStringHandle function.)
469
469
  # dwTime:: Specifies the Windows time at which the action specified by the fsAction member takes place.
470
470
  # Windows time is the number of milliseconds that have elapsed since the system was booted.
471
471
  # hsz:: Handle to the string. Because string handles are local to the process, this member is a global atom.
472
- # hTask:: Handle to the task (application instance) performing the action on the string handle.
472
+ # hTask:: Handle to the task (App instance) performing the action on the string handle.
473
473
  # str:: Pointer to the string identified by the hsz member.
474
474
  # ---
475
475
  # Structure Information
476
476
  # Header Declared in Ddeml.h, include Windows.h
477
477
  #
478
- class MonHszStruct < FFI::Struct # :nodoc:
478
+ class MonHszStruct < FFI::Struct
479
479
  layout :cb, :uint,
480
480
  :fs_action, :uchar,
481
481
  :dw_time, :uint32,
@@ -485,7 +485,7 @@ module Win
485
485
  end
486
486
 
487
487
  # The MONLINKSTRUCT structure contains information about a Dynamic Data Exchange (DDE) advise loop. A
488
- # DDE monitoring application can use this structure to obtain information about an advise loop that has
488
+ # DDE monitoring App can use this structure to obtain information about an advise loop that has
489
489
  # started or ended.
490
490
  #
491
491
  # [*Typedef*] struct { UINT cb; DWORD dwTime; HANDLE hTask; BOOL fEstablished; BOOL fNoData; HSZ hszSvc;
@@ -495,7 +495,7 @@ module Win
495
495
  # cb:: Specifies the structure's size, in bytes.
496
496
  # dwTime:: Specifies the Windows time at which the advise loop was started or ended. Windows time is the
497
497
  # number of milliseconds that have elapsed since the system was booted.
498
- # hTask:: Handle to a task (application instance) that is a partner in the advise loop.
498
+ # hTask:: Handle to a task (App instance) that is a partner in the advise loop.
499
499
  # fEstablished:: Indicates whether an advise loop was successfully established. A value of TRUE
500
500
  # indicates an advise loop was established; FALSE indicates it was not.
501
501
  # fNoData:: Indicates whether the XTYPF_NODATA flag is set for the advise loop. A value of TRUE
@@ -512,13 +512,13 @@ module Win
512
512
  # *Remarks*:
513
513
  # Because string handles are local to the process, the hszSvc, hszTopic, and hszItem members are global atoms.
514
514
  # The hConvClient and hConvServer members of the MONLINKSTRUCT structure do not hold the same value as
515
- # would be seen by the applications engaged in the conversation. Instead, they hold a globally unique
515
+ # would be seen by the Apps engaged in the conversation. Instead, they hold a globally unique
516
516
  # pair of values that identify the conversation.
517
517
  # ---
518
518
  # Structure Information
519
519
  # Header Declared in Ddeml.h, include Windows.h
520
520
  #
521
- class MonLinkStruct < FFI::Struct # :nodoc:
521
+ class MonLinkStruct < FFI::Struct
522
522
  layout :cb, :uint,
523
523
  :dw_time, :uint32,
524
524
  :h_task, :ulong,
@@ -534,7 +534,7 @@ module Win
534
534
  end
535
535
 
536
536
  # The MONMSGSTRUCT structure contains information about a Dynamic Data Exchange (DDE) message. A DDE
537
- # monitoring application can use this structure to obtain information about a DDE message that was sent
537
+ # monitoring App can use this structure to obtain information about a DDE message that was sent
538
538
  # or posted.
539
539
  #
540
540
  # [*Typedef*] struct { UINT cb; HWND hwndTo; DWORD dwTime; HANDLE hTask; UINT wMsg; WPARAM wParam;
@@ -544,7 +544,7 @@ module Win
544
544
  # hwndTo:: Handle to the window that receives the DDE message.
545
545
  # dwTime:: Specifies the Windows time at which the message was sent or posted. Windows time is the
546
546
  # number of milliseconds that have elapsed since the system was booted.
547
- # hTask:: Handle to the task (application instance) containing the window that receives the DDE message.
547
+ # hTask:: Handle to the task (App instance) containing the window that receives the DDE message.
548
548
  # wMsg:: Specifies the identifier of the DDE message.
549
549
  # wParam:: Specifies the wParam parameter of the DDE message.
550
550
  # lParam:: Specifies the lParam parameter of the DDE message.
@@ -553,7 +553,7 @@ module Win
553
553
  # Structure Information
554
554
  # Header Declared in Ddeml.h, include Windows.h
555
555
  #
556
- class MonMsgStruct < FFI::Struct # :nodoc:
556
+ class MonMsgStruct < FFI::Struct
557
557
  layout :cb, :uint,
558
558
  :hwnd_to, :ulong,
559
559
  :dw_time, :uint32,
@@ -566,7 +566,7 @@ module Win
566
566
 
567
567
  # The DDEML_MSG_HOOK_DATA structure contains information about a Dynamic Data Exchange (DDE) message,
568
568
  # and provides read access to the data referenced by the message. This structure is intended to be used
569
- # by a Dynamic Data Exchange Management Library (DDEML) monitoring application.
569
+ # by a Dynamic Data Exchange Management Library (DDEML) monitoring App.
570
570
  #
571
571
  # [*Typedef*] struct { UINT_PTR uiLo; UINT_PTR uiHi; DWORD cbData; DWORD Data } DDEML_MSG_HOOK_DATA;
572
572
  #
@@ -578,7 +578,7 @@ module Win
578
578
  # Structure Information
579
579
  # Header Declared in Ddeml.h, include Windows.h
580
580
  #
581
- class DdemlMsgHookData < FFI::Struct # :nodoc:
581
+ class DdemlMsgHookData < FFI::Struct
582
582
  layout :ui_lo, :uint,
583
583
  :ui_hi, :uint,
584
584
  :cb_data, :uint32,
@@ -598,7 +598,7 @@ module Win
598
598
  # ---
599
599
  # *Remarks*:
600
600
  # If a registered format with the specified name already exists, a new format is not registered and the
601
- # return value identifies the existing format. This enables more than one application to copy and paste
601
+ # return value identifies the existing format. This enables more than one App to copy and paste
602
602
  # data using the same registered clipboard format. Note that the comparison is case-insensitive.
603
603
  # Registered clipboard formats are identified by values in the range 0xC000 through 0xFFFF.
604
604
  # When registered clipboard formats are placed on or retrieved from the clipboard, they must be in the
@@ -607,12 +607,12 @@ module Win
607
607
  # :call-seq:
608
608
  # format_id = register_clipboard_format( format_name )
609
609
  #
610
- function :RegisterClipboardFormat, [:pointer], :uint, zeronil: true
610
+ function :RegisterClipboardFormat, [:pointer], :uint, fails: 0
611
611
 
612
612
  ##
613
- # The DdeCallback function is an application-defined callback function used with the Dynamic Data Exchange
613
+ # The DdeCallback function is an App-defined callback function used with the Dynamic Data Exchange
614
614
  # Management Library (DDEML) functions. It processes Dynamic Data Exchange (DDE) transactions. The PFNCALLBACK
615
- # type defines a pointer to this callback function. DdeCallback is a placeholder for the application-defined
615
+ # type defines a pointer to this callback function. DdeCallback is a placeholder for the App-defined
616
616
  # function name.
617
617
  #
618
618
  # [*Syntax*] HDDEDATA CALLBACK DdeCallback( UINT uType, UINT uFmt, HCONV hconv, HDDEDATA hsz1, HDDEDATA hsz2,
@@ -628,9 +628,9 @@ module Win
628
628
  # hsz1:: Handle to the topic name.
629
629
  # hsz2:: Handle to the service name.
630
630
  # dwData1:: Pointer to a CONVCONTEXT structure that contains context information for the conversation.
631
- # If the client is not a Dynamic Data Exchange Management Library (DDEML) application,
631
+ # If the client is not a Dynamic Data Exchange Management Library (DDEML) App,
632
632
  # this parameter is 0.
633
- # dwData2:: Specifies whether the client is the same application instance as the server. If the
633
+ # dwData2:: Specifies whether the client is the same App instance as the server. If the
634
634
  # parameter is 1, the client is the same instance. If the parameter is 0, the client
635
635
  # is a different instance.
636
636
  # *Returns*:: A server callback function should return TRUE to allow the client to establish a
@@ -686,9 +686,9 @@ module Win
686
686
  # ---
687
687
  # *Remarks*:
688
688
  # - The callback function is called asynchronously for transactions that do not involve the creation or termination
689
- # of conversations. An application that does not frequently accept incoming messages will have reduced DDE
689
+ # of conversations. An App that does not frequently accept incoming messages will have reduced DDE
690
690
  # performance because the Dynamic Data Exchange Management Library (DDEML) uses messages to initiate transactions.
691
- # - An application must register the callback function by specifying a pointer to the function in a call to the
691
+ # - An App must register the callback function by specifying a pointer to the function in a call to the
692
692
  # DdeInitialize function.
693
693
  #
694
694
  # :call-seq:
@@ -697,24 +697,24 @@ module Win
697
697
  callback :DdeCallback, [:uint, :uint, :HCONV, :HDDEDATA, :HDDEDATA, :HDDEDATA, :HDDEDATA, :HDDEDATA], :HDDEDATA
698
698
 
699
699
  ##
700
- # The DdeInitialize function registers an application with the Dynamic Data Exchange Management Library (DDEML).
701
- # An application must call this function before calling any other DDEML function.
700
+ # The DdeInitialize function registers an App with the Dynamic Data Exchange Management Library (DDEML).
701
+ # An App must call this function before calling any other DDEML function.
702
702
  #
703
703
  # [*Syntax*] UINT DdeInitialize( LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes );
704
704
  #
705
- # pidInst:: <in, out> Pointer to the application instance identifier.
705
+ # pidInst:: <in, out> Pointer to the App instance identifier.
706
706
  # At initialization, this parameter should point to 0. If the function succeeds, this parameter points
707
- # to the instance identifier for the application. This value should be passed as the idInst parameter
708
- # in all other DDEML functions that require it. If an application uses multiple instances of the DDEML
709
- # dynamic-link library (DLL), the application should provide a different callback function for each
707
+ # to the instance identifier for the App. This value should be passed as the idInst parameter
708
+ # in all other DDEML functions that require it. If an App uses multiple instances of the DDEML
709
+ # dynamic-link library (DLL), the App should provide a different callback function for each
710
710
  # instance. If pidInst points to a nonzero value, reinitialization of the DDEML is implied. In this
711
- # case, pidInst must point to a valid application-instance identifier.
712
- # pfnCallback:: Pointer to the application-defined Dynamic Data Exchange DdeCallback function. This function
711
+ # case, pidInst must point23 to a valid App-instance identifier.
712
+ # pfnCallback:: Pointer to the App-defined Dynamic Data Exchange DdeCallback function. This function
713
713
  # processes DDE transactions sent by the system. For more information, see the DdeCallback.
714
714
  # afCmd:: <in> Specifies a set of APPCMD_, CBF_, and MF_ flags. The APPCMD_ flags provide special
715
715
  # instructions to DdeInitialize. The CBF_ flags specify filters that prevent specific types of transactions
716
716
  # from reaching the callback function. The MF_ flags specify the types of DDE activity that a DDE monitoring
717
- # application monitors. Using these flags enhances the performance of a DDE application by eliminating
717
+ # App monitors. Using these flags enhances the performance of a DDE App by eliminating
718
718
  # unnecessary calls to the callback function. This parameter can be one or more of the following values:
719
719
  # APPCLASS_MONITOR, APPCLASS_STANDARD, APPCMD_CLIENTONLY, APPCMD_FILTERINITS;
720
720
  # CBF_FAIL_ALLSVRXACTIONS, CBF_FAIL_ADVISES, CBF_FAIL_CONNECTIONS, CBF_FAIL_EXECUTES, CBF_FAIL_POKES
@@ -730,14 +730,14 @@ module Win
730
730
  # - DMLERR_SYS_ERROR
731
731
  # ---
732
732
  # <b> Enhanced API accepts only 2 parameters (get rid of reserved hsz2):
733
- # instance_id:: (optional) Application instance identifier. At initialization, this parameter should be 0, nil
733
+ # instance_id:: (optional) App instance identifier. At initialization, this parameter should be 0, nil
734
734
  # or omitted altogether. If it is nonzero/non-nil, reinitialization of the DDEML is implied.
735
735
  # cmd(afCmd):: obligatory set of flags
736
736
  # ---
737
737
  # *Remarks*:
738
- # - An application that uses multiple instances of the DDEML must not pass DDEML objects between instances.
739
- # - A DDE monitoring application should not attempt to perform DDE operations (establish conversations,
740
- # issue transactions, and so on) within the context of the same application instance.
738
+ # - An App that uses multiple instances of the DDEML must not pass DDEML objects between instances.
739
+ # - A DDE monitoring App should not attempt to perform DDE operations (establish conversations,
740
+ # issue transactions, and so on) within the context of the same App instance.
741
741
  # - A synchronous transaction fails with a DMLERR_REENTRANCY error if any instance of the same task has
742
742
  # a synchronous transaction already in progress.
743
743
  # - The CBF_FAIL_ALLSVRXACTIONS flag causes the DDEML to filter all server transactions and can be changed
@@ -763,16 +763,16 @@ module Win
763
763
 
764
764
  ##
765
765
  # The DdeUninitialize function frees all Dynamic Data Exchange Management Library (DDEML) resources associated
766
- # with the calling application.
766
+ # with the calling App.
767
767
  #
768
768
  # [*Syntax*] BOOL DdeUninitialize( DWORD idInst);
769
769
  #
770
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
770
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
771
771
  # *Returns*:: If the function succeeds, the return value is nonzero.
772
772
  # If the function fails, the return value is zero.
773
773
  # ---
774
774
  # *Remarks*
775
- # DdeUninitialize terminates any conversations currently open for the application.
775
+ # DdeUninitialize terminates any conversations currently open for the App.
776
776
  #
777
777
  # :call-seq:
778
778
  # success = dde_uninitialize( instance_id )
@@ -781,19 +781,19 @@ module Win
781
781
 
782
782
  ##
783
783
  # The DdeCreateStringHandle function creates a handle that identifies the specified string.
784
- # A Dynamic Data Exchange (DDE) client or server application can pass the string handle as a
784
+ # A Dynamic Data Exchange (DDE) client or server App can pass the string handle as a
785
785
  # parameter to other Dynamic Data Exchange Management Library (DDEML) functions.
786
786
  #
787
787
  # [*Syntax*] HSZ DdeCreateStringHandle( DWORD idInst, LPTSTR psz, int iCodePage );
788
788
  #
789
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the
789
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the
790
790
  # DdeInitialize function.
791
791
  # psz:: <in> Pointer to a buffer that contains the null-terminated string for which a handle
792
792
  # is to be created. This string can be up to 255 characters. The reason for this limit is that
793
793
  # DDEML string management functions are implemented using global atoms.
794
794
  # iCodePage:: <in> Specifies the code page used to render the string. This value should be either
795
795
  # CP_WINANSI (the default code page) or CP_WINUNICODE, depending on whether the ANSI or Unicode
796
- # version of DdeInitialize was called by the client application.
796
+ # version of DdeInitialize was called by the client App.
797
797
  #
798
798
  # *Returns*:: (L) or nil: If the function succeeds, the return value is a string handle.
799
799
  # If the function fails, the return value is 0(changed to nil in enhanced version).
@@ -803,25 +803,25 @@ module Win
803
803
  # <b> Enhanced (snake_case) API makes code_page param optional and returns *nil* if handle creation fails. </b>
804
804
  # ---
805
805
  # *Remarks*: The value of a string handle is not related to the case of the string it identifies.
806
- # When an application either creates a string handle or receives one in the callback function
807
- # and then uses the DdeKeepStringHandle function to keep it, the application must free that string
806
+ # When an App either creates a string handle or receives one in the callback function
807
+ # and then uses the DdeKeepStringHandle function to keep it, the App must free that string
808
808
  # handle when it is no longer needed. An instance-specific string handle cannot be mapped from string
809
809
  # handle to string and back to string handle.
810
810
  #
811
811
  # :call-seq:
812
812
  # string_handle = dde_create_string_handle( instance_id, string, code_page_id )
813
813
  #
814
- function :DdeCreateStringHandle, [:uint32, :pointer, :int], :ulong, zeronil: true,
814
+ function :DdeCreateStringHandle, [:uint32, :pointer, :int], :ulong, fails: 0,
815
815
  &->(api, instance_id, string, code_page=CP_WINANSI){
816
816
  string_pointer = FFI::MemoryPointer.from_string(string)
817
817
  api.call(instance_id, string_pointer, code_page) }
818
818
 
819
819
  ##
820
- # The DdeFreeStringHandle function frees a string handle in the calling application.
820
+ # The DdeFreeStringHandle function frees a string handle in the calling App.
821
821
  #
822
822
  # [*Syntax*] BOOL DdeFreeStringHandle( DWORD idInst, HSZ hsz );
823
823
  #
824
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
824
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
825
825
  # hsz:: <in, out> Handle to the string handle to be freed. This handle must have been created by a previous call
826
826
  # to the DdeCreateStringHandle function.
827
827
  # *Returns*:: If the function succeeds, the return value is nonzero. If the function fails, it is zero.
@@ -829,8 +829,8 @@ module Win
829
829
  # <b> Enhanced snake_case API returns boolean true/false as a success indicator. </b>
830
830
  # ---
831
831
  # *Remarks*:
832
- # An application can free string handles it creates with DdeCreateStringHandle but should not free those that
833
- # the system passed to the application's Dynamic Data Exchange (DDE) callback function or those returned in the
832
+ # An App can free string handles it creates with DdeCreateStringHandle but should not free those that
833
+ # the system passed to the App's Dynamic Data Exchange (DDE) callback function or those returned in the
834
834
  # CONVINFO structure by the DdeQueryConvInfo function.
835
835
  #
836
836
  # :call-seq:
@@ -843,7 +843,7 @@ module Win
843
843
  #
844
844
  # [*Syntax*] DWORD DdeQueryString( DWORD idInst, HSZ hsz, LPTSTR psz, DWORD cchMax, int iCodePage);
845
845
  #
846
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
846
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
847
847
  # hsz:: <in> Handle to the string to copy. This handle must have been created by a previous call to the
848
848
  # DdeCreateStringHandle function.
849
849
  # psz:: <in, out> Pointer to a buffer that receives the string. To obtain the length of the string, this parameter
@@ -860,7 +860,7 @@ module Win
860
860
  # the terminating null character). If an error occurs, the return value is 0L.
861
861
  # ---
862
862
  # <b> Enhanced (snake_case) API makes all args optional except for first (dde instance id), and returns nil if
863
- # the function was unsuccessful.</b>
863
+ # the function was unsuccessful. </b>
864
864
  # ---
865
865
  # *Remarks*
866
866
  # - The string returned in the buffer is always null-terminated. If the string is longer than ( cchMax– 1),
@@ -880,13 +880,13 @@ module Win
880
880
  ##
881
881
  # The DdeNameService function registers or unregisters the service names a Dynamic Data Exchange (DDE) server
882
882
  # supports. This function causes the system to send XTYP_REGISTER or XTYP_UNREGISTER transactions to other running
883
- # Dynamic Data Exchange Management Library (DDEML) client applications.
883
+ # Dynamic Data Exchange Management Library (DDEML) client Apps.
884
884
  #
885
885
  # [*Syntax*] HDDEDATA DdeNameService( DWORD idInst, UINT hsz1, UINT hsz2, UINT afCmd );
886
886
  #
887
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
887
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
888
888
  # hsz1:: <in> Handle to the string that specifies the service name the server is registering or unregistering.
889
- # An application that is unregistering all of its service names should set this parameter to 0L.
889
+ # An App that is unregistering all of its service names should set this parameter to 0L.
890
890
  # hsz2:: Reserved; should be set to 0L.
891
891
  # afCmd:: <in> Specifies the service name options. This parameter can be one of the following values.
892
892
  # DNS_REGISTER:: Registers the service name.
@@ -894,10 +894,10 @@ module Win
894
894
  # all service names registered by the server will be unregistered.
895
895
  # DNS_FILTERON:: Turns on service name initiation filtering. The filter prevents a server from receiving
896
896
  # XTYP_CONNECT transactions for service names it has not registered. This is the default
897
- # setting for this filter. If a server application does not register any service names,
898
- # the application cannot receive XTYP_WILDCONNECT transactions.
897
+ # setting for this filter. If a server App does not register any service names,
898
+ # the App cannot receive XTYP_WILDCONNECT transactions.
899
899
  # DNS_FILTEROFF:: Turns off service name initiation filtering. If this flag is specified, the server
900
- # receives an XTYP_CONNECT transaction whenever another DDE application calls the
900
+ # receives an XTYP_CONNECT transaction whenever another DDE App calls the
901
901
  # DdeConnect function, regardless of the service name.
902
902
  # *Returns*:: If the function succeeds, it returns nonzero (*true* in snake_case method). For CamelCase, that
903
903
  # value is not really HDDEDATA value, but merely a Boolean indicator of success. The function is
@@ -914,8 +914,8 @@ module Win
914
914
  # *Remarks*:
915
915
  # The service name identified by the hsz1 parameter should be a base name (that is, the name should contain no
916
916
  # instance-specific information). The system generates an instance-specific name and sends it along with the
917
- # base name during the XTYP_REGISTER and XTYP_UNREGISTER transactions. The receiving applications can then
918
- # connect to the specific application instance.
917
+ # base name during the XTYP_REGISTER and XTYP_UNREGISTER transactions. The receiving Apps can then
918
+ # connect to the specific App instance.
919
919
  #
920
920
  # :call-seq:
921
921
  # success = dde_name_service( instance_id, string_handle, cmd )
@@ -925,13 +925,13 @@ module Win
925
925
  # weird lambda literal instead of block is needed because RDoc goes crazy if block is attached to meta-definition
926
926
 
927
927
  ##
928
- # DdeConnect function establishes a conversation with a server application that supports the specified service
928
+ # DdeConnect function establishes a conversation with a server App that supports the specified service
929
929
  # name and topic name pair. If more than one such server exists, the system selects only one.
930
930
  #
931
931
  # [*Syntax*] HCONV DdeConnect( DWORD idInst, HSZ hszService, HSZ hszTopic, PCONVCONTEXT pCC );
932
932
  #
933
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
934
- # hszService:: <in> Handle to the string that specifies the service name of the server application with which
933
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
934
+ # hszService:: <in> Handle to the string that specifies the service name of the server App with which
935
935
  # a conversation is to be established. This handle must have been created by a previous call to
936
936
  # the DdeCreateStringHandle function. If this parameter is 0L, a conversation is established with
937
937
  # any available server.
@@ -950,13 +950,13 @@ module Win
950
950
  # - DMLERR_NO_ERROR
951
951
  # ---
952
952
  # *Remarks*
953
- # - The client application cannot make assumptions regarding the server selected. If an instance-specific name
953
+ # - The client App cannot make assumptions regarding the server selected. If an instance-specific name
954
954
  # is specified in the hszService parameter, a conversation is established with only the specified instance.
955
- # Instance-specific service names are passed to an application's Dynamic Data Exchange (DDE) callback function
955
+ # Instance-specific service names are passed to an App's Dynamic Data Exchange (DDE) callback function
956
956
  # during the XTYP_REGISTER and XTYP_UNREGISTER transactions.
957
957
  # - All members of the default CONVCONTEXT structure are set to zero except cb, which specifies the size of the
958
958
  # structure, and iCodePage, which specifies CP_WINANSI (the default code page) or CP_WINUNICODE, depending on
959
- # whether the ANSI or Unicode version of the DdeInitialize function was called by the client application.
959
+ # whether the ANSI or Unicode version of the DdeInitialize function was called by the client App.
960
960
  # ---
961
961
  # <b>Enhanced (snake_case) API makes all args optional except for first (dde instance id), and returns nil if
962
962
  # the function was unsuccessful.</b>
@@ -964,7 +964,7 @@ module Win
964
964
  # :call-seq:
965
965
  # conversation_handle = dde_connect( instance_id, [service = 0, topic = 0, context = nil] )
966
966
  #
967
- function :DdeConnect, [:uint32, :ulong, :ulong, :pointer], :ulong, zeronil: true,
967
+ function :DdeConnect, [:uint32, :ulong, :ulong, :pointer], :ulong, fails: 0,
968
968
  &->(api, instance_id, service = 0, topic = 0, context = nil){
969
969
  api.call(instance_id, service, topic, context) }
970
970
 
@@ -985,7 +985,7 @@ module Win
985
985
  # *Remarks*:
986
986
  # Any incomplete transactions started before calling DdeDisconnect are immediately abandoned. The XTYP_DISCONNECT
987
987
  # transaction is sent to the Dynamic Data Exchange (DDE) callback function of the partner in the conversation.
988
- # Generally, only client applications must terminate conversations.
988
+ # Generally, only client Apps must terminate conversations.
989
989
  # ---
990
990
  # <b>Enhanced (snake_case) API returns *true/false* instead of nonzero/zero.</b>
991
991
  #
@@ -1001,7 +1001,7 @@ module Win
1001
1001
  #
1002
1002
  # [*Syntax*] UINT DdeGetLastError( DWORD idInst );
1003
1003
  #
1004
- # idInst:: <in> Specifies the application instance identifier obtained by a previous call to the DdeInitialize.
1004
+ # idInst:: <in> Specifies the App instance identifier obtained by a previous call to the DdeInitialize.
1005
1005
  #
1006
1006
  # *Returns*:: If the function succeeds, the return value is the last error code, which can be one of the following:
1007
1007
  # DMLERR_ADVACKTIMEOUT, DMLERR_EXECACKTIMEOUT, DMLERR_INVALIDPARAMETER, DMLERR_LOW_MEMORY, DMLERR_MEMORY_ERROR,
@@ -1014,18 +1014,18 @@ module Win
1014
1014
  # :call-seq:
1015
1015
  # string = dde_get_last_error( instance_id )
1016
1016
  #
1017
- function :DdeGetLastError, [:uint32], :int, zeronil: true
1017
+ function :DdeGetLastError, [:uint32], :int, fails: 0
1018
1018
 
1019
1019
  ##
1020
1020
  # The DdeClientTransaction function begins a data transaction between a client and a server. Only a
1021
- # Dynamic Data Exchange (DDE) client application can call this function, and the application can use it
1021
+ # Dynamic Data Exchange (DDE) client App can call this function, and the App can use it
1022
1022
  # only after establishing a conversation with the server.
1023
1023
  #
1024
1024
  # [*Syntax*] HDDEDATA DdeClientTransaction( LPBYTE pData, DWORD cbData, HCONV hConv, HSZ hszItem, UINT
1025
1025
  # wFmt, UINT wType, DWORD dwTimeout, LPDWORD pdwResult );
1026
1026
  #
1027
1027
  # pData:: <in> Pointer to the beginning of the data the client must pass to the server.
1028
- # Optionally, an application can specify the data handle (HDDEDATA) to pass to the server and in that
1028
+ # Optionally, an App can specify the data handle (HDDEDATA) to pass to the server and in that
1029
1029
  # case the cbData parameter should be set to -1. This parameter is required only if the wType parameter
1030
1030
  # is XTYP_EXECUTE or XTYP_POKE. Otherwise, this parameter should be NULL.
1031
1031
  # For the optional usage of this parameter, XTYP_POKE transactions where pData is a data handle, the
@@ -1046,7 +1046,7 @@ module Win
1046
1046
  # format or a valid registered clipboard format.
1047
1047
  # wType:: <in> Specifies the transaction type. This parameter can be one of the following values.
1048
1048
  # - XTYP_ADVSTART: Begins an advise loop. Any number of distinct advise loops can exist within a
1049
- # conversation. An application can alter the advise loop type by combining the XTYP_ADVSTART
1049
+ # conversation. An App can alter the advise loop type by combining the XTYP_ADVSTART
1050
1050
  # transaction type with one or more of the following flags: Flag Meaning
1051
1051
  # - XTYPF_NODATA Instructs the server to notify the client of any data changes without actually sending
1052
1052
  # the data. This flag gives the client the option of ignoring the notification or requesting the changed
@@ -1059,13 +1059,13 @@ module Win
1059
1059
  # - XTYP_POKE: Begins a poke transaction.
1060
1060
  # - XTYP_REQUEST: Begins a request transaction.
1061
1061
  # dwTimeout:: <in> Specifies the maximum amount of time, in milliseconds, that the client will wait for
1062
- # a response from the server application in a synchronous transaction. This parameter should
1062
+ # a response from the server App in a synchronous transaction. This parameter should
1063
1063
  # be TIMEOUT_ASYNC for asynchronous transactions.
1064
- # pdwResult:: <out> Pointer to a variable that receives the result of the transaction. An application
1064
+ # pdwResult:: <out> Pointer to a variable that receives the result of the transaction. An App
1065
1065
  # that does not check the result can use NULL for this value. For synchronous transactions,
1066
1066
  # the low-order word of this variable contains any applicable DDE_ flags resulting from the
1067
- # transaction. This provides support for applications dependent on DDE_APPSTATUS bits. It
1068
- # is, however, recommended that applications no longer use these bits because they may not
1067
+ # transaction. This provides support for Apps dependent on DDE_APPSTATUS bits. It
1068
+ # is, however, recommended that Apps no longer use these bits because they may not
1069
1069
  # be supported in future versions of the Dynamic Data Exchange Management Library (DDEML).
1070
1070
  # For asynchronous transactions, this variable is filled with a unique transaction
1071
1071
  # identifier for use with the DdeAbandonTransaction function and the XTYP_XACT_COMPLETE
@@ -1094,13 +1094,13 @@ module Win
1094
1094
  # - DMLERR_UNADVACKTIMEOUT
1095
1095
  # ---
1096
1096
  # *Remarks*:
1097
- # When an application has finished using the data handle returned by DdeClientTransaction, the application should
1097
+ # When an App has finished using the data handle returned by DdeClientTransaction, the App should
1098
1098
  # free the handle by calling the DdeFreeDataHandle function.
1099
1099
  #
1100
- #Transactions can be synchronous or asynchronous. During a synchronous transaction, DdeClientTransaction does not
1100
+ # Transactions can be synchronous or asynchronous. During a synchronous transaction, DdeClientTransaction does not
1101
1101
  # return until the transaction either completes successfully or fails. Synchronous transactions cause a client to
1102
- # enter a modal loop while waiting for various asynchronous events. Because of this, a client application can still
1103
- # respond to user input while waiting on a synchronous transaction, but the application cannot begin a second
1102
+ # enter a modal loop while waiting for various asynchronous events. Because of this, a client App can still
1103
+ # respond to user input while waiting on a synchronous transaction, but the App cannot begin a second
1104
1104
  # synchronous transaction because of the activity associated with the first. DdeClientTransaction fails if any
1105
1105
  # instance of the same task has a synchronous transaction already in progress.
1106
1106
  #
@@ -1108,7 +1108,7 @@ module Win
1108
1108
  # passing a transaction identifier for reference. When the server's DDE callback function finishes
1109
1109
  # processing an asynchronous transaction, the system sends an XTYP_XACT_COMPLETE transaction to the
1110
1110
  # client. This transaction provides the client with the results of the asynchronous transaction that it
1111
- # initiated by calling DdeClientTransaction. A client application can choose to abandon an asynchronous
1111
+ # initiated by calling DdeClientTransaction. A client App can choose to abandon an asynchronous
1112
1112
  # transaction by calling the DdeAbandonTransaction function.
1113
1113
  # ---
1114
1114
  # <b>Enhanced (snake_case) API: </b>
@@ -1117,7 +1117,7 @@ module Win
1117
1117
  # data_handle = dde_client_transaction(data_pointer, size, conv, item, format, type, timeout, result)
1118
1118
  #
1119
1119
  function :DdeClientTransaction, [:pointer, :uint32, :ulong, :ulong, :uint, :uint, :uint32, :pointer],
1120
- :HDDEDATA, zeronil: true
1120
+ :HDDEDATA, fails: 0
1121
1121
 
1122
1122
  ##
1123
1123
  # The DdeGetData function copies data from the specified Dynamic Data Exchange (DDE) object to the specified
@@ -1166,7 +1166,7 @@ module Win
1166
1166
 
1167
1167
  ##
1168
1168
  # The DdeAccessData function provides access to the data in the specified Dynamic Data Exchange (DDE)
1169
- # object. An application must call the DdeUnaccessData function when it has finished accessing the data
1169
+ # object. An App must call the DdeUnaccessData function when it has finished accessing the data
1170
1170
  # in the object.
1171
1171
  #
1172
1172
  # [*Syntax*] LPBYTE DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize );
@@ -1187,7 +1187,7 @@ module Win
1187
1187
  # ---
1188
1188
  # *Remarks*:
1189
1189
  # If the hData parameter has not been passed to a Dynamic Data Exchange Management Library (DDEML)
1190
- # function, an application can use the pointer returned by DdeAccessData for read-write access to the
1190
+ # function, an App can use the pointer returned by DdeAccessData for read-write access to the
1191
1191
  # DDE object. If hData has already been passed to a DDEML function, the pointer should be used only for
1192
1192
  # read access to the memory object.
1193
1193
  #
@@ -1207,7 +1207,7 @@ module Win
1207
1207
  # weird lambda literal instead of block is needed because RDoc goes crazy if block is attached to meta-definition
1208
1208
 
1209
1209
  ##
1210
- # The DdeUnaccessData function unaccesses a Dynamic Data Exchange (DDE) object. An application must call
1210
+ # The DdeUnaccessData function unaccesses a Dynamic Data Exchange (DDE) object. An App must call
1211
1211
  # this function after it has finished accessing the object.
1212
1212
  #
1213
1213
  # [*Syntax*] BOOL DdeUnaccessData( HDDEDATA hData );
@@ -1223,10 +1223,10 @@ module Win
1223
1223
  # DMLERR_NO_ERROR
1224
1224
  #
1225
1225
  # ---
1226
- # <b>Enhanced (snake_case) API returns true/false instead of nonzero/zero: </b>
1226
+ # <b> Enhanced (snake_case) API returns true/false instead of nonzero/zero: </b>
1227
1227
  #
1228
1228
  # :call-seq:
1229
- # success = dde_unaccess_data(data_handle)
1229
+ # success = dde_unaccess_data(data_handle)
1230
1230
  #
1231
1231
  function :DdeUnaccessData, [:HDDEDATA], :int8, boolean: true
1232
1232