win 0.3.17 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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