HOWTO: Pass a NULL String to a Windows API from Visual Basic

ID: Q162622


The information in this article applies to:
  • Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, version 6.0
  • Microsoft Visual Basic Control Creation, Learning, Professional, and Enterprise Editions for Windows, version 5.0
  • Microsoft Visual Basic Standard, Professional, and Enterprise Editions for Windows, version 4.0


SUMMARY

This article describes how to pass NULL as a parameter to any Windows API function that requires a pointer to a string from a Visual Basic 4.0 or higher application.


MORE INFORMATION

Many Windows APIs have pointers to strings (for example, LPSTR or LPCSTR) in their parameter lists. The documentation often indicates that special processing occurs if a NULL is passed (instead of a pointer to a string). With earlier versions of Visual Basic, you could accomplish this by using 0& for the parameter. However, Visual Basic versions 4.0 and higher include a special constant, vbNullString, that you can use when you need to pass NULL to a Windows API.

For example, here's the declaration for the Win32 function FindWindow that accepts two pointers to strings:


      HWND FindWindow(
          LPCTSTR lpClassName,   // pointer to class name
          LPCTSTR lpWindowName   // pointer to window name
          ); 

If NULL is passed as the second parameter, FindWindow locates any window of the specified class name. In a C or C++ program, the call might look like this:

      hRet = FindWindow("MyWindowClass", NULL); 

If you make the same call from Visual Basic, it looks like this:

      hRet = FindWindow("MyWindowClass", vbNullString) 

Note that using vbNullString is equivalent to passing NULL as the parameter. This is not the same as passing an empty string ("").


REFERENCES

Visual Basic Help file, versions 4.0, 5.0; Topic: "Declare Statement"

Additional query words: kbdsi kbDSupport kbVBp kbVBp400 kbVBp500 kbVBp600 kbAPI

Keywords :
Version :
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: June 21, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.