Wednesday, March 31, 2010

Callback Functions

Callback Functions

A callback function is code within a managed application that helps an unmanaged DLL function complete a task. Calls to a callback function pass indirectly from a managed application, through a DLL function, and back to the managed implementation. Some of the many DLL functions called with platform invoke require a callback function in managed code to run properly.

To call most DLL functions from managed code, you create a managed definition of the function and then call it. The process is straightforward.

Using a DLL function that requires a callback function has some additional steps. First, you must determine whether the function requires a callback by looking at the documentation for the function. Next, you have to create the callback function in your managed application. Finally, you call the DLL function, passing a pointer to the callback function as an argument. The following illustration summarizes these steps.

Callback function and implementation


Platform invoke callback

Callback functions are ideal for use in situations in which a task is performed repeatedly. Another common usage is with enumeration functions, such as EnumFontFamilies, EnumPrinters, and EnumWindows in the Win32 API. The EnumWindows function enumerates through all existing windows on your computer, calling the callback function to perform a task on each window. For instructions and an example, see How to: Implement Callback Functions.

See Also


Tasks

How to: Implement Callback Functions

Other Resources

Calling a DLL Function

 

Thursday, March 4, 2010

Net Send

To work around this problem, change the Startup type of the Messenger service to Automatic, and then start the Messenger service.

To do this, follow these steps:

  1. Open Windows Explorer.
  2. In the left pane, right-click My Computer, and then click Manage.
  3. In the Computer Management window, expand Services and Applications in the left pane, and then click Services.
  4. In the right pane, double-click Messenger.
  5. In the Messenger Properties (Local Computer) dialog box, click the General tab.
  6. On the General tab, select Automatic from the Startup type list, and then click Apply.
  7. Under Service status, click Start, and then click OK.

Copy to  a file and save as .bat ext.

 

@echo off

:A

Cls

echo MESSENGER

set /p n=User:

set /p m=Message:

net send %n% %m%

Pause

Goto A

Tuesday, March 2, 2010

SQL SERVER - Insert Data From One Table to Another Table - INSERT INTO SELECT - SELECT INTO TABLE

SQL SERVER – Insert Data From One Table to Another Table – INSERT INTO SELECT – SELECT INTO TABLE

 

Following three questions are many time asked on this blog.

 

How to insert data from one table to another table efficiently?

How to insert data from one table using where condition to anther table?

How can I stop using cursor to move data from one table to another table?

 

There are two different ways to implement inserting data from one table to another table. I strongly suggest to use either of the method over cursor. Performance of following two methods is far superior over cursor. I prefer to use Method 1 always as I works in all the case.

 

Method 1 : INSERT INTO SELECT

This method is used when table is already created in the database earlier and data is to be inserted into this table from another table. If columns listed in insert clause and select clause are same, they are are not required to list them. I always list them for readability and scalability purpose.

 

USE AdventureWorks

GO

----Create TestTable

CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100))

----INSERT INTO TestTable using SELECT

INSERT INTO TestTable (FirstName, LastName)

SELECT FirstName, LastName

FROM Person.Contact

WHERE EmailPromotion = 2

----Verify that Data in TestTable

SELECT FirstName, LastName

FROM TestTable

----Clean Up Database

DROP TABLE TestTable

GO

 

Method 2 : SELECT INTO

This method is used when table is not created earlier and needs to be created when data from one table is to be inserted into newly created table from another table. New table is created with same data types as selected columns.

 

USE AdventureWorks

GO

----Create new table and insert into table using SELECT INSERT

SELECT FirstName, LastName

INTO TestTable

FROM Person.Contact

WHERE EmailPromotion = 2

----Verify that Data in TestTable

SELECT FirstName, LastName

FROM TestTable

----Clean Up Database

DROP TABLE TestTable

GO

 

Both of the above method works with database temporary tables (global, local). If you want to insert multiple rows using only one insert statement refer article SQL SERVER – Insert Multiple Records Using One Insert Statement – Use of UNION ALL.

Code Formater

Paste Here Your Source Code
Source Code Formatting Options
1) Convert Tab into Space :
2) Need Line Code Numbering :
3) Remove blank lines :
4) Embeded styles / Stylesheet :
5) Code Block Width :
6) Code Block Height :
7) Alternative Background :
Copy Formatted Source Code
 
Preview Of Formatted Code