Why is my custom module is not listed with the drush command pm-projectinfo?
The solution is very simple, you just need to add project property in your .info file.

In this case:

project = "my_custom_module"


The Drupal documentation page Writing module .info files (Drupal 7.x) says about the project property:


  project (Discouraged, packaging use only)
  
  Module maintainers should not use this at all. The packaging script on
  drupal.org will automatically place a string here to identify what
  project the module came from. This is primarily for the Update status
  module, so that Drupal installations can monitor versions of installed
  packages and notify administrators when new versions are available.


But as this is a custom module I think that I need to put this property in my .info file because if not, drush pm-projectinfo my_custom_module will not works.

Let's see why if you don't use the project property this doesn't works

Inside the drush code you can see the implementation of the drush pm-projectinfo command:

function drush_pm_projectinfo() {
  // Get specific requests.
  $requests = pm_parse_arguments(func_get_args(), FALSE);
  // Get installed extensions and projects.
  $extensions = drush_get_extensions();
  $projects = drush_get_projects($extensions);


If you use: 

drush ev 'print_r(array_keys((drush_get_extensions())))' | grep my_custom_module


You will see something like this:

[112] my_custom_module


So, we need to test the next step:

drush ev 'print_r(array_keys(drush_get_projects(drush_get_extensions())))' | grep my_custom_module


Nothing to show

So, if we go inside the drush_get_projects() function we can found the following code in line 673:

  foreach ($extensions as $extension) {
    $extension_name = drush_extension_get_name($extension);
    $extension_path = drush_extension_get_path($extension);
    // Obtain the project name. It is not available in this cases:
    //   1. the extension is part of drupal core.
    //   2. the project was checked out from CVS/git and cvs_deploy/git_deploy
    //      is not installed.
    //   3. it is not a project hosted in drupal.org.
    if (empty($extension-&gt;info['project'])) {


And in number 3 we have our answer.